C语言题库及答案.docx
- 文档编号:1307847
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:139
- 大小:34.55KB
C语言题库及答案.docx
《C语言题库及答案.docx》由会员分享,可在线阅读,更多相关《C语言题库及答案.docx(139页珍藏版)》请在冰点文库上搜索。
C语言题库及答案
********************************************************
0已知在文件IN.DAT中存有若干个(个数<200)四位数字的正整
数,函数ReadDat()是读取这若干个正整数并存入数组xx中。
请
编制函数CalValue(),其功能要求:
1.求出这文件中共有多少
个正整数totNum;2.求出这些数中的各位数字之和是奇数的数的
个数totCnt,以及满足此条件的这些数的算术平均值totPjz,最
后调用函数WriteDat()把所求的结果输出到文件OUT1.DAT中。
注意:
部分源程序存放在PROG1.C中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据
函数WriteDat()的内容。
#include
#include
#defineMAXNUM200
intxx[MAXNUM];
inttotNum=0;/*文件IN.DAT中共有多少个正整数*/
inttotCnt=0;/*符合条件的正整数的个数*/
doubletotPjz=0.0;/*平均值*/
intReadDat(void);
voidWriteDat(void);
voidCalValue(void)
{
inti,n;
longcnt=0;
for(i=0;i if(xx[i]>0){/*是正整数*/ totNum++;/*计数*/ /*求各位之和*/ n=xx[i]/1000+(xx[i]%1000)/100+(xx[i]%100)/10+xx[i]%10; if(n&1){/*是奇数*/ totCnt++;/*统计个数*/ cnt+=xx[i];/*计算累加和*/ } } } totPjz=(double)cnt/totCnt;/*计算平均值*/ } voidmain() { inti; clrscr(); for(i=0;i if(ReadDat()){ printf("数据文件IN.DAT不能打开! \007\n"); return; } CalValue(); printf("文件IN.DAT中共有正整数=%d个\n",totNum); printf("符合条件的正整数的个数=%d个\n",totCnt); printf("平均值=%.2lf\n",totPjz); WriteDat(); } intReadDat(void) { FILE*fp; inti=0; if((fp=fopen("in.dat","r"))==NULL)return1; while(! feof(fp)){ fscanf(fp,"%d,",&xx[i++]); } fclose(fp); return0; } voidWriteDat(void) { FILE*fp; fp=fopen("OUT1.DAT","w"); fprintf(fp,"%d\n%d\n%.2lf\n",totNum,totCnt,totPjz); fclose(fp); } ******************************************************** 1已知在文件IN.DAT中存有若干个(个数<200)四位数字的正整 数,函数ReadDat()是读取这若干个正整数并存入数组xx中。 请 编制函数CalValue(),其功能要求: 1.求出这文件中共有多少 个正整数totNum;2.求出这些数中的各位数字之和是偶数的数的 个数totCnt,以及满足此条件的这些数的算术平均值totPjz,最 后调用函数WriteDat()把所求的结果输出到文件OUT2.DAT中。 注意: 部分源程序存放在PROG1.C中。 请勿改动主函数main()、读数据函数ReadDat()和输出数据 函数WriteDat()的内容。 #include #include #defineMAXNUM200 intxx[MAXNUM]; inttotNum=0;/*文件IN.DAT中共有多少个正整数*/ inttotCnt=0;/*符合条件的正整数的个数*/ doubletotPjz=0.0;/*平均值*/ intReadDat(void); voidWriteDat(void); voidCalValue(void) { inti,n; longcnt=0; for(i=0;i if(xx[i]>0){/*是正整数*/ totNum++;/*计数*/ /*求各位之和*/ n=xx[i]/1000+(xx[i]%1000)/100+(xx[i]%100)/10+xx[i]%10; if((n&1)==0){/*是偶数*/ totCnt++;/*统计个数*/ cnt+=xx[i];/*计算累加和*/ } } } totPjz=(double)cnt/totCnt;/*计算平均值*/ } voidmain() { inti; clrscr(); for(i=0;i if(ReadDat()){ printf("数据文件IN.DAT不能打开! \007\n"); return; } CalValue(); printf("文件IN.DAT中共有正整数=%d个\n",totNum); printf("符合条件的正整数的个数=%d个\n",totCnt); printf("平均值=%.2lf\n",totPjz); WriteDat(); } intReadDat(void) { FILE*fp; inti=0; if((fp=fopen("in.dat","r"))==NULL)return1; while(! feof(fp)){ fscanf(fp,"%d,",&xx[i++]); } fclose(fp); return0; } voidWriteDat(void) { FILE*fp; fp=fopen("OUT2.DAT","w"); fprintf(fp,"%d\n%d\n%.2lf\n",totNum,totCnt,totPjz); fclose(fp); } ******************************************************** 2已知在文件IN.DAT中存有若干个(个数<200)四位数字的正整 数,函数ReadDat()是读取这若干个正整数并存入数组xx中。 请 编制函数CalValue(),其功能要求: 1.求出这文件中共有多少 个正整数totNum;2.求这些数右移1位后,产生的新数是奇数的 数的个数totCnt,以及满足此条件的这些数(右移前的值)的算术 平均值totPjz,最后调用函数WriteDat()把所求的结果输出到文 件OUT3.DAT中。 注意: 部分源程序存放在PROG1.C中。 请勿改动主函数main()、读数据函数ReadDat()和输出数据 函数WriteDat()的内容。 #include #include #defineMAXNUM200 intxx[MAXNUM]; inttotNum=0;/*文件IN.DAT中共有多少个正整数*/ inttotCnt=0;/*符合条件的正整数的个数*/ doubletotPjz=0.0;/*平均值*/ intReadDat(void); voidWriteDat(void); voidCalValue(void) { inti; longcnt=0; for(i=0;i if(xx[i]>0){/*是正整数*/ totNum++;/*计数*/ if((xx[i]>>1)&1){/*右移1位后是奇数*/ totCnt++;/*统计个数*/ cnt+=xx[i];/*计算累加和*/ } } } totPjz=(double)cnt/totCnt;/*计算平均值*/ } voidmain() { inti; clrscr(); for(i=0;i if(ReadDat()){ printf("数据文件IN.DAT不能打开! \007\n"); return; } CalValue(); printf("文件IN.DAT中共有正整数=%d个\n",totNum); printf("符合条件的正整数的个数=%d个\n",totCnt); printf("平均值=%.2lf\n",totPjz); WriteDat(); } intReadDat(void) { FILE*fp; inti=0; if((fp=fopen("in.dat","r"))==NULL)return1; while(! feof(fp)){ fscanf(fp,"%d,",&xx[i++]); } fclose(fp); return0; } voidWriteDat(void) { FILE*fp; fp=fopen("OUT3.DAT","w"); fprintf(fp,"%d\n%d\n%.2lf\n",totNum,totCnt,totPjz); fclose(fp); } ******************************************************** 3已知在文件IN.DAT中存有若干个(个数<200)四位数字的正整 数,函数ReadDat()是读取这若干个正整数并存入数组xx中。 请 编制函数CalValue(),其功能要求: 1.求出这文件中共有多少 个正整数totNum;2.求这些数右移1位后,产生的新数是偶数的 数的个数totCnt,以及满足此条件的这些数(右移前的值)的算术 平均值totPjz,最后调用函数WriteDat()把所求的结果输出到文 件OUT4.DAT中。 注意: 部分源程序存放在PROG1.C中。 请勿改动主函数main()、读数据函数ReadDat()和输出数据 函数WriteDat()的内容。 #include #include #defineMAXNUM200 intxx[MAXNUM]; inttotNum=0;/*文件IN.DAT中共有多少个正整数*/ inttotCnt=0;/*符合条件的正整数的个数*/ doubletotPjz=0.0;/*平均值*/ intReadDat(void); voidWriteDat(void); voidCalValue(void) { inti; longcnt=0; for(i=0;i if(xx[i]>0){/*是正整数*/ totNum++;/*计数*/ if(((xx[i]>>1)&1)==0){/*右移1位后是偶数*/ totCnt++;/*统计个数*/ cnt+=xx[i];/*计算累加和*/ } } } totPjz=(double)cnt/totCnt;/*计算平均值*/ } voidmain() { inti; clrscr(); for(i=0;i if(ReadDat()){ printf("数据文件IN.DAT不能打开! \007\n"); return; } CalValue(); printf("文件IN.DAT中共有正整数=%d个\n",totNum); printf("符合条件的正整数的个数=%d个\n",totCnt); printf("平均值=%.2lf\n",totPjz); WriteDat(); } intReadDat(void) { FILE*fp; inti=0; if((fp=fopen("in.dat","r"))==NULL)return1; while(! feof(fp)){ fscanf(fp,"%d,",&xx[i++]); } fclose(fp); return0; } voidWriteDat(void) { FILE*fp; fp=fopen("OUT4.DAT","w"); fprintf(fp,"%d\n%d\n%.2lf\n",totNum,totCnt,totPjz); fclose(fp); } ******************************************************** 4已知在文件IN.DAT中存有若干个(个数<200)四位数字的正整 数,函数ReadDat()是读取这若干个正整数并存入数组xx中。 请 编制函数CalValue(),其功能要求: 1.求出这文件中共有多少 个正整数totNum;2.求这些数中的个位数位置上的数字是3、 6和9的数的个数totCnt,以及满足此条件的这些数的算术平均 值totPjz,最后调用函数WriteDat()把所求的结果输出到文件 OUT5.DAT中。 注意: 部分源程序存放在PROG1.C中。 请勿改动主函数main()、读数据函数ReadDat()和输出数据 函数WriteDat()的内容。 #include #include #defineMAXNUM200 intxx[MAXNUM]; inttotNum=0;/*文件IN.DAT中共有多少个正整数*/ inttotCnt=0;/*符合条件的正整数的个数*/ doubletotPjz=0.0;/*平均值*/ intReadDat(void); voidWriteDat(void); voidCalValue(void) { inti,n; longcnt=0; for(i=0;i if(xx[i]>0){/*是正整数*/ totNum++;/*计数*/ n=xx[i]%10;/*求个位*/ if(n&&(n%3)==0){/*个位是3的倍数且不为0,亦即3、6、9*/ totCnt++;/*统计个数*/ cnt+=xx[i];/*计算累加和*/ } } } totPjz=(double)cnt/totCnt;/*计算平均值*/ } voidmain() { inti; clrscr(); for(i=0;i if(ReadDat()){ printf("数据文件IN.DAT不能打开! \007\n"); return; } CalValue(); printf("文件IN.DAT中共有正整数=%d个\n",totNum); printf("符合条件的正整数的个数=%d个\n",totCnt); printf("平均值=%.2lf\n",totPjz); WriteDat(); } intReadDat(void) { FILE*fp; inti=0; if((fp=fopen("in.dat","r"))==NULL)return1; while(! feof(fp)){ fscanf(fp,"%d,",&xx[i++]); } fclose(fp); return0; } voidWriteDat(void) { FILE*fp; fp=fopen("OUT5.DAT","w"); fprintf(fp,"%d\n%d\n%.2lf\n",totNum,totCnt,totPjz); fclose(fp); } ******************************************************** 5已知在文件IN.DAT中存有若干个(个数<200)四位数字的正整 数,函数ReadDat()是读取这若干个正整数并存入数组xx中。 请 编制函数CalValue(),其功能要求: 1.求出这文件中共有多少 个正整数totNum;2.求这些数中的十位数位置上的数字是2、 4和8的数的个数totCnt,以及满足此条件的这些数的算术平均 值totPjz,最后调用函数WriteDat()把所求的结果输出到文件 OUT6.DAT中。 注意: 部分源程序存放在PROG1.C中。 请勿改动主函数main()、读数据函数ReadDat()和输出数据 函数WriteDat()的内容。 #include #include #defineMAXNUM200 intxx[MAXNUM]; inttotNum=0;/*文件IN.DAT中共有多少个正整数*/ inttotCnt=0;/*符合条件的正整数的个数*/ doubletotPjz=0.0;/*平均值*/ intReadDat(void); voidWriteDat(void); voidCalValue(void) { inti,n; longcnt=0; for(i=0;i if(xx[i]>0){/*是正整数*/ totNum++;/*计数*/ n=(xx[i]%100)/10;/*求十位数*/ if(n==2||n==4||n==8){/*十位数是2、4、8*/ totCnt++;/*统计个数*/ cnt+=xx[i];/*计算累加和*/ } } } totPjz=(double)cnt/totCnt;/*计算平均值*/ } voidmain() { inti; clrscr(); for(i=0;i if(ReadDat()){ printf("数据文件IN.DAT不能打开! \007\n"); return; } CalValue(); printf("文件IN.DAT中共有正整数=%d个\n",totNum); printf("符合条件的正整数的个数=%d个\n",totCnt); printf("平均值=%.2lf\n",totPjz); WriteDat(); } intReadDat(void) { FILE*fp; inti=0; if((fp=fopen("in.dat","r"))==NULL)return1; while(! feof(fp)){ fscanf(fp,"%d,",&xx[i++]); } fclose(fp); return0; } voidWriteDat(void) { FILE*fp; fp=fopen("OUT6.DAT","w"); fprintf(fp,"%d\n%d\n%.2lf\n",totNum,totCnt,totPjz); fclose(fp); } ******************************************************** 6已知在文件IN.DAT中存有若干个(个数<200)四位数字的正整 数,函数ReadDat()是读取这若干个正整数并存入数组xx中。 请 编制函数CalValue(),其功能要求: 1.求出这文件中共有多少 个正整数totNum;2.求这些数中的百位数位置上的数字是1、 5和7的数的个数totCnt,以及满足此条件的这些数的算术平均 值totPjz,最后调用函数WriteDat()把所求的结果输出到文件 OUT7.DAT中。 注意: 部分源程序存放在PROG1.C中。 请勿改动主函数main()、读数据函数ReadDat()和输出数据 函数WriteDat()的内容。 #include #include #defineMAXNUM200 intxx[MAXNUM]; inttotNum=0;/*文件IN.DAT中共有多少个正整数*/ inttotCnt=0;/*符合条件的正整数的个数*/ doubletotPjz=0.0;/*平均值*/ intReadDat(void); voidWriteDat(void); voidCalValue(void) { inti,n; longcnt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 题库 答案