C语言上机题库和答案

举报
资源描述
0 已知在文件IN.D AT 中存有若干个(个数20 0)四位数字的正整数,函数R ea d D a t()是读取这若干个正整数并存入数组x x 中。请编制函数Ca l Va l u e(),其功能要求:1.求出这文件中共有多少个正整数t ot N u m;2.求出这些数中的各位数字之和是奇数的数的个数t ot Cn t,以及满足此条件的这些数的算术平均值t ot P j z,最后调用函数肛i t eD a t O 把所求的结果输出到文件0 UT L D AT 中。注意:部分源程序存放在P R 0 G 1.C中。请勿改动主函数m a i n()、读数据函数R ea d D a t O 和输出数据函数Wr i t eD a t ()的内容。t t i n c l u d e#i n c l u d e#d efi n e M AX N UM 20 0i n t x x M AX N UM;i n t t ot N u m=0 ;/*文 件 IN.D AT 中共有多少个正整数*/i n t t ot Cn t =0 ;/*符合条件的正整数的个数*/d ou b l e t ot P j z=0.0 ;/*平均值*/i n t R ea d D a t(voi d);voi d Wr i t eD a t(voi d);voi d Ca l Va l u e(voi d)(i n t i,n;l on g en t =0 ;for(i =0 ;i 0)/*是正整数*/t ot N u m+;/*计数*/*求各位之和*/n =x x i/10 0 0 +(x x i%10 0 0)/10 0 +(x x i%10 0)/10 +x x i%10;i f(n&l )/*是奇数*/t ot Cn t+;/*统计个数*/en t +=x x i ;/*计算累加和*/t ot P j z=(d ou b l e)en t /t ot Cn t ;/*计算平均值*/voi d m a i n()i n t i ;c l r s c r ();for(i =0 ;i M AX N UM ;i+)x x i =0 ;i f(R ea d D a t ()p r i n t f(数据文件IN.D AT 不能打开!0 0 7 n);r et u r n ;)Ca l Va l u e();p r i n t f(文件 IN.D AT 中共有正整数二%d 个 n ,t ot N u m)p r i n t f(符合条件的正整数的个数二%d 个 n ,t ot Cn t)p r i n t f(平均值二%.t ot P j z);Wr i t eD a t ();i n t R ea d D a t(voi d)(F IL E *fp ;i n t i =0 ;i f(fp =fop en(i n.d a t,r)=N UL L)r et u r n 1 ;wh i l e(!feof(fp)fs c a n f(fp,%d,”,&x x i+);)fc l os e(fp);r et u r n 0 ;)voi d Wr i t eD a t(voi d)(F IL E *fp ;fp =fop en CO UT l.D Ar,Vz);fp r i n t f(fp,%d n%d n%.21f n”,t ot N u m,t ot Cn t,t ot P j z);fc l os e(fp);1 已知在文件IN.D AT 中存有若干个(个数 20 0)四位数字的正整数,函数R ea d D a t ()是读取这若干个正整数并存入数组x x 中。请编制函数Ca l Va l u e(),其功能要求:1.求出这文件中共有多少个正整数t ot N u m;2.求出这些数中的各位数字之和是偶数的数的个 数 t ot Cn t,以及满足此条件的这些数的算术平均值t ot P j z,最后调用函数Wr i t eD a t ()把所求的结果输出到文件0 UT 2.D AT 中。注意:部分源程序存放在P R 0 G 1.C中。请勿改动主:函数m a i n()、读数据函数R ea d D a t ()和输出数据函数Wr i t eD a t ()的内容。#i n c l u d e#i n c l u d e#d efi n e M AX N UM 20 0i n t x x M AX N UM;i n t t ot N u m =0 ;/*文件IN.D AT 中共有多少个正整数*/i n t t ot Cn t =0 ;/*符合条件的正整数的个数*/d ou b l e t ot P j z=0.0 ;/*平均值*/i n t R ea d D a t(voi d);voi d Wr i t eD a t(voi d);voi d Ca l Va l u e(voi d)(i n t i,n;l on g en t =0 ;for(i =0 ;i 0)/*是正整数*/t ot N u m+;/*计数*/*求各位之和*/n =x x i/10 0 0 +(x x i%10 0 0)/10 0 +(x x i%10 0)/10 +x x i%10;i f(n&l)=0 )/*是偶数*/t ot Cn t+;/*统计个数*/en t +=x x i ;/*计算累加和*/)t ot P j z=(d ou b l e)en t /t ot Cn t ;/*计算平均值*/voi d m a i n()(i n t i ;c l r s c r ();for(i =0 ;i M AX N UM :i+)x x i =0 ;i f(R ea d D a t()p r i n t f(“数据文件IN.D AT 不能打开!0 0 7 n);r et u r n ;Ca l Va l u e();p r i n t f(文件 IN.D AT 中共有正整数=%d 个 n,t ot N u m);p r i n t f(符合条件的正整数的个数=%d 个 n”,t ot Cn t);p r i n t f(平均值=%.21f n”,t ot P j z);Wr i t eD a t 0 ;i n t R ea d D a t(voi d)(F IL E *fp ;i n t i =0 ;i f(fp =fop en(i n.d a t,r)=N UL L)r et u r n 1 ;wh i l e(!feof(fp)fs c a n f(fp,%d,”,&x x i+);fc l os e(fp);r et u r n 0 ;voi d Wr i t eD a t(voi d)(F IL E *fp ;fp =fop en(0 UT 2.D AT,w);fp r i n t f(fp,%d n%d n%.21f n”,t ot N u m,t ot Cn t,t ot P j z);fc l os e(fp);)2 已知在文件IN.D AT 中存有若干个(个数 20 0)四位数字的正整数,函数R ea d D a t ()是读取这若干个正整数并存入数组x x 中。请编制函数Ca l Va l u e(),其功能要求:1.求出这文件中共有多少个正整数t ot N u m;2.求这些数右移1位后,产生的新数是奇数的数的个数t ot Cn t,以及满足此条件的这些数(右移前的值)的算术平均值t ot P j z,最后调用函数Wr i t eD a t ()把所求的结果输出到文件 0 UT 3.D AT 中。注意:部分源程序存放在P R O G 1.C中。请勿改动主函数m a i n()、读数据函数R ea d D a t ()和输出数据函数Wr i t eD a t ()的内容。t t i n c l u d e#i n c l u d e#d efi n e M AX N UM 20 0i n t x x M AX N UM;i n t t ot N u m =0 ;/*文 件 IN.D AT 中共有多少个正整数*/i n t t ot Cn t =0 ;/*符合条件的正整数的个数*/d ou b l e t ot P j z=0.0;/*平均值*/i n t R ea d D a t(voi d);voi d Wr i t eD a t(voi d);voi d Ca l Va l u e(voi d)(i n t i;l on g en t =0 ;for (i =0 ;i 0)/*是正整数*/t ot N u m+;/*计数*/i f(x x i l)&1)/*右 移1位后是奇数*/t ot Cn t+;/*统计个数*/en t +=x x i ;/*计算累加和*/)t ot P j z=(d ou b l e)en t /t ot Cn t ;/*计算平均值*/)voi d m a i n()(i n t i ;c l r s c r ();for(i =0 ;i M AX N UM ;i+)x x i =0 ;i f(R ea d D a t ()p r i n t f(数据文件1 2口人丁不能打开!0 0八 ;r et u r n ;)Ca l Va l u eO ;p r i n t f(文件IN.D AT中共有正整数成d个 n,t ot N u m)p r i n t f(符合条件的正整数的个数二%d个 n”,t ot Cn t);p r i n t f(平均值=%.21f n”,t ot P j z);Wr i t eD a t();i n t R ea d D a t(voi d)(F IL E *fp ;i n t i =0 ;i f(fp =fop en(z,i n.d a t,z,r)=N UL L)r et u r n 1;wh i l e(!feof(fp)fs c a n f(fp,%d,,&x x i+)fc l os e(f p);r et u r n 0 ;voi d Wr i t eD a t (voi d)F IL E *fp ;fp =fop en(0 UT 3.D AT”,w);fp r i n t f(fp,,%d n%d n%.21f n,/,t ot N u m,t ot Cn t,t ot P j z);fc l os e(fp);)3 已知在文件IN.D A T中存有若干个(个数20 0)四位数字的正整数,函数R ea d D a t ()是读取这若干个正整数并存入数组x x中。请编制函数Ca l Va l u e(),其功能要求:1.求出这文件中共有多少个正整数t ot N u m;2.求这些数右移1位后,产生的新数是偶数的数的个数t ot Cn t,以及满足此条件的这些数(右移前的值)的算术平均值t ot P j z,最后调用函数Wr i t eD a t ()把所求的结果输出到文件 0 UT 4.D AT 中。注意:部分源程序存放在P R 0 G 1.C中。请勿改动主函数m a i n()、读数据函数R ea d D a t ()和输出数据函数Wr i t eD a t ()的内容t t i n c l u d e#i n c l u d e#d efi n e M AX N UM 20 0i n t x x M AX N UM;i n t t ot N u m=0 ;/*文 件IN.D A T中共有多少个正整数*/i n t t ot Cn t =0 ;/*符合条件的正整数的个数*/d ou b l e t ot P j z=0.0 ;/*平均值*/i n t R ea d D a t(voi d);voi d Wr i t eD a t(voi d);voi d Ca l Va l u e(voi d)(i n t i;l on g en t =0 ;for(i =0 ;i 0)/*是正整数*/t ot N u
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新


电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号