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

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

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

第9題:

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


部分程序已經(jīng)給出。
請(qǐng)勿改動(dò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個(gè)


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

第10題:

   請(qǐng)編制函數(shù)ReadDat()實(shí)現(xiàn)從文件in10.dat中讀取1000個(gè)十進(jìn)制整數(shù)到數(shù)組xx中;請(qǐng)編制函數(shù)Compute()分別計(jì)算出xx中偶數(shù)的個(gè)數(shù)even,奇數(shù)的平均值avel,偶數(shù)的平均值ave2以及方差totfc的值,最后調(diào)用函數(shù)WriteDat()把結(jié)果輸出到out10.dat文件中。
計(jì)算方差的公式如下:
totfc=2
設(shè)N為偶數(shù)的個(gè)數(shù),xx[i]為偶數(shù),ave2為偶數(shù)的平均值。
原始數(shù)據(jù)文件存放的格式是:每行存放10個(gè)數(shù),并用逗號(hào)隔開。(每個(gè)數(shù)均大于0且小于等于2000)
部分程序已經(jīng)給出。
請(qǐng)勿改動(dò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);
}

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