首頁 - 網(wǎng)校 - 萬題庫 - 直播 - 雄鷹網(wǎng)校 - 團(tuán)購 - 書城 - 模考 - 學(xué)習(xí)通 - 導(dǎo)航 -
首頁網(wǎng)校萬題庫直播雄鷹網(wǎng)校團(tuán)購書城?論壇實用文檔作文大全寶寶起名
2015中考
法律碩士
2015高考
MBA考試
2015考研
MPA考試
在職研
中科院
考研培訓(xùn)
專升本
自學(xué)考試 成人高考
四 六 級
GRE考試
攻碩英語
零起點(diǎn)日語
職稱英語
口譯筆譯
申碩英語
零起點(diǎn)韓語
商務(wù)英語
日語等級
GMAT考試
公共英語
職稱日語
新概念英語
專四專八
博思考試
零起點(diǎn)英語
托福考試
托業(yè)考試
零起點(diǎn)法語
雅思考試
成人英語三級
零起點(diǎn)德語
等級考試
華為認(rèn)證
水平考試
Java認(rèn)證
職稱計算機(jī) 微軟認(rèn)證 思科認(rèn)證 Oracle認(rèn)證 Linux認(rèn)證
公 務(wù) 員
導(dǎo)游考試
物 流 師
出版資格
單 證 員
報 關(guān) 員
外 銷 員
價格鑒證
網(wǎng)絡(luò)編輯
駕 駛 員
報檢員
法律顧問
管理咨詢
企業(yè)培訓(xùn)
社會工作者
銀行從業(yè)
教師資格
營養(yǎng)師
保險從業(yè)
普 通 話
證券從業(yè)
跟 單 員
秘書資格
電子商務(wù)
期貨考試
國際商務(wù)
心理咨詢
營 銷 師
司法考試
國際貨運(yùn)代理人
人力資源管理師
廣告師職業(yè)水平
衛(wèi)生資格 執(zhí)業(yè)醫(yī)師 執(zhí)業(yè)藥師 執(zhí)業(yè)護(hù)士
會計從業(yè)資格
基金從業(yè)資格
統(tǒng)計從業(yè)資格
經(jīng)濟(jì)師
精算師
統(tǒng)計師
會計職稱
法律顧問
ACCA考試
初級會計職稱
資產(chǎn)評估師
高級經(jīng)濟(jì)師
注冊會計師
高級會計師
美國注冊會計師
審計師考試
國際內(nèi)審師
注冊稅務(wù)師
理財規(guī)劃師
一級建造師
安全工程師
設(shè)備監(jiān)理師
公路監(jiān)理師
公路造價師
二級建造師
招標(biāo)師考試
物業(yè)管理師
電氣工程師
建筑師考試
造價工程師
注冊測繪師
質(zhì)量工程師
巖土工程師
注冊給排水
造價員考試
注冊計量師
環(huán)保工程師
化工工程師
暖通工程師
咨詢工程師
結(jié)構(gòu)工程師
城市規(guī)劃師
材料員考試
消防工程師
監(jiān)理工程師
房地產(chǎn)估價
土地估價師
安全評價師
房地產(chǎn)經(jīng)紀(jì)人
投資項目管理師
環(huán)境影響評價師
土地登記代理人
寶寶起名
繽紛校園
實用文檔
入黨申請
英語學(xué)習(xí)
思想?yún)R報
作文大全
工作總結(jié)
求職招聘 論文下載 直播課堂
您現(xiàn)在的位置: 考試吧 > 計算機(jī)等級考試 > 計算機(jī)三級考試 > 信息管理 > 上機(jī)題庫 > 正文

2006年計算機(jī)等級考試三級上機(jī)題庫練習(xí)及答案(5)

本系列資料由"韜略宏智" 授權(quán)發(fā)布,任何網(wǎng)站不得轉(zhuǎn)載,否則追究法律責(zé)任。

第9題:

  已知在文件in9.dat中存在若干個(<200)四位數(shù)字的正整數(shù),函數(shù)readDat()讀取這若干個正整數(shù)并存入數(shù)組xx中。請編制函數(shù)CalValue(),其功能要求:(1)求出這個文件中共有多少個正整數(shù)totNum;(2)求這些數(shù)右移1位后,產(chǎn)生的新數(shù)是偶數(shù)的數(shù)的個數(shù)totCnt,以及滿足此條件的這些數(shù)(右移前的值)的算術(shù)平均值totPjz,最后調(diào)用函數(shù)writeDat()把所求的結(jié)果輸出到文件out9.dat中。


部分程序已經(jīng)給出。
請勿改動主函數(shù)main()、讀函數(shù)readDat()和寫函數(shù)writeDat()的內(nèi)容。
#include
#include
#define MAXNUM 200
int xx[MAXNUM];
int totNum=0;
int totCnt=0;
double totPjz=0.0;
int readDat(void);
void writeDat(void);
void CalValue(void)
{

}
void main()
{
int i;
clrscr();
for(i=0;iif(readDat())
{
printf("數(shù)據(jù)文件in9.dat不能打開!\007\n");
return;
}
CalValue();
printf("文件in9.dat中共有正整數(shù)=%d個


【解析】
考點(diǎn):(1)統(tǒng)計個數(shù);
(2)移位運(yùn)算符“>>”的使用;
(3)求算術(shù)平均值。
本題的解題思路是:先統(tǒng)計出數(shù)組中共有多少個正整數(shù),然后逐個將數(shù)組中的元素右移一位,并統(tǒng)計出移位后的數(shù)字是偶數(shù)的個數(shù),最后求出滿足此條件數(shù)字的平均值。條件在題目中已經(jīng)給出,考生應(yīng)仔細(xì)分析這些條件,不應(yīng)急于開始編程。右移一位可以通過“>>”運(yùn)算符實現(xiàn),判斷是否為偶數(shù)可以通過判斷xx[i]%2的結(jié)果是否為零來實現(xiàn),求平均值需要先將數(shù)組中符合條件的數(shù)字累加到一個臨時變量中,再通過臨時變量計算出平均值。
程序的流程是:首先通過readDat()函數(shù)將數(shù)據(jù)讀入數(shù)組xx中,然后通過CalValue()函數(shù)進(jìn)行處理后由writeDat()函數(shù)將結(jié)果寫回文件out9.dat中去。
在CalValue()函數(shù)中,首先執(zhí)行for循環(huán)體(i=MAXNUM循環(huán)結(jié)束,MAXNUM為數(shù)組中元素的最大個數(shù)),內(nèi)嵌if語句的功能是判斷xx數(shù)組中的元素是否為0,當(dāng)xx數(shù)組中的元素為0時,則跳出循環(huán),即數(shù)組的此位置沒有元素。第二個if語句的作用是當(dāng)xx數(shù)組中的元素為大于0時,即數(shù)組的該位置有數(shù)字時,totNum加1,且把xx[i]向右移一位后賦給data,其中“>>”運(yùn)算符的作用是把xx[i]轉(zhuǎn)換成二進(jìn)制數(shù)據(jù)后,向右移動一位舍掉一個二進(jìn)制位,再把該二進(jìn)制化成十進(jìn)制。
if語句的作用是,判斷data是否是偶數(shù),如果data能被2整除,即是一個偶數(shù),則總個數(shù)totCnt加1;并把xx[i]累加到totPjz當(dāng)中去。for循環(huán)結(jié)束后,計算totPjz的值函數(shù)結(jié)束。

第10題:

   請編制函數(shù)ReadDat()實現(xiàn)從文件in10.dat中讀取1000個十進(jìn)制整數(shù)到數(shù)組xx中;請編制函數(shù)Compute()分別計算出xx中偶數(shù)的個數(shù)even,奇數(shù)的平均值avel,偶數(shù)的平均值ave2以及方差totfc的值,最后調(diào)用函數(shù)WriteDat()把結(jié)果輸出到out10.dat文件中。
計算方差的公式如下:
totfc=2
設(shè)N為偶數(shù)的個數(shù),xx[i]為偶數(shù),ave2為偶數(shù)的平均值。
原始數(shù)據(jù)文件存放的格式是:每行存放10個數(shù),并用逗號隔開。(每個數(shù)均大于0且小于等于2000)
部分程序已經(jīng)給出。
請勿改動主函數(shù)main()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 1000
int xx[MAX],odd=0,even=0;
double ave1=0.0,ave2=0.0,totfc=0.0;
void WriteDat(void);
int ReadDat(void)
{  FILE *fp;
int i,j;
if((fp=fopen("in10.dat","r"))==NULL)return 1;
for(i=0;i<100;i++)
{ for(j=0;j<10;j++)
fscanf(fp,"%d,",&xx[i*10+j]);
fscanf(fp,"\n");
if(feof(fp))break;
}
fclose(fp);
return 0;
}
void Compute(void)
{


}
void main()
{  int i;
for(i=0;i<MAX;i++)xx[i]=0;
if(ReadDat())
{
printf("數(shù)據(jù)文件in10.dat不能打開!\007\n");
return;
}
Compute();
printf("even=%d\nave1=%f\nave2=%f\n totfc =%f\n",even,ave1,ave2,totfc);
WriteDat();
}
void WriteDat(void)
{
FILE *fp;
int i;
fp=fopen("out10.dat","w");
fprintf(fp,"%d\n%f\n%f\n%f\n",even,ave1,ave2,totfc);
fclose(fp);
}

文章搜索
計算機(jī)等級考試欄目導(dǎo)航
版權(quán)聲明:如果計算機(jī)等級考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉(zhuǎn)載本計算機(jī)等級考試網(wǎng)內(nèi)容,請注明出處。
Copyright © 2004- 考試吧計算機(jī)等級考試網(wǎng) All Rights Reserved 
中國科學(xué)院研究生院權(quán)威支持(北京)
在線模擬試題
考證通關(guān)殺器
考試最新資訊
學(xué)
一次通關(guān)技巧