1、三级数据库技术-541 及答案解析(总分:100.00,做题时间:90 分钟)一、设计与应用题(总题数:1,分数:100.00)1.程序 test.c的功能是:计算出自然数 SIX和 NINE满足条件 SIX+SIX+SIX=NINE+NINE的个数 cnt,以及满足此条件的所有 SIX与 NINE的和 SUM。请编写函数 countValue()实现程序的要求,最后 main()函数调用函数 writeDAT()把结果 cnt和 sum,输出到文件 out.dat中。 其中的 S,I,X,N,E 各代表一个十进制数字,允许代表的数字相同,但 S和 N不能为 0。例如:944+944+944=
2、1416+1416 请勿改动主函数 main()和输出数据函数 writeDAT()的内容。 #include stdio.h int cnt, sum; void writeDAT(); void countValue() void main() cnt=sum=0; countValue(); printf(“满足条件的个数=%dn“, cnt); printf(“满足条件所有的 SIX与 NINE的和=%dn“, sum); writeDAT (); /*把结果 cnt和 sum输出到文件 out.dat中*/ void writeDAT() FILE *fp; fp=fopen (“o
3、ut.dat“, “w“); /以只写的方式打开文件 out.dat fprintf(fp, “%dn%dn“, cnt, sum); /把结果 cnt和 sum输出到文件 out.dat中 fclose (fp); /关闭文件 out.dat (分数:100.00)_三级数据库技术-541 答案解析(总分:100.00,做题时间:90 分钟)一、设计与应用题(总题数:1,分数:100.00)1.程序 test.c的功能是:计算出自然数 SIX和 NINE满足条件 SIX+SIX+SIX=NINE+NINE的个数 cnt,以及满足此条件的所有 SIX与 NINE的和 SUM。请编写函数 cou
4、ntValue()实现程序的要求,最后 main()函数调用函数 writeDAT()把结果 cnt和 sum,输出到文件 out.dat中。 其中的 S,I,X,N,E 各代表一个十进制数字,允许代表的数字相同,但 S和 N不能为 0。例如:944+944+944=1416+1416 请勿改动主函数 main()和输出数据函数 writeDAT()的内容。 #include stdio.h int cnt, sum; void writeDAT(); void countValue() void main() cnt=sum=0; countValue(); printf(“满足条件的个数=
5、%dn“, cnt); printf(“满足条件所有的 SIX与 NINE的和=%dn“, sum); writeDAT (); /*把结果 cnt和 sum输出到文件 out.dat中*/ void writeDAT() FILE *fp; fp=fopen (“out.dat“, “w“); /以只写的方式打开文件 out.dat fprintf(fp, “%dn%dn“, cnt, sum); /把结果 cnt和 sum输出到文件 out.dat中 fclose (fp); /关闭文件 out.dat (分数:100.00)_正确答案:()解析:int s, l, x, n, e, si
6、x, nine; /*计算出自然数 six和 nine满足条件 six+six+six=nine+nine的个数 cnt,以及满足此条件所有的 six与nine的和 sum*/ for(s=1; s10;s+) for(i=0;i10;i+) for(x=0;x10;x+) for(n=1;n10;n+) for(e=0;e10;e+) six=s*100+i*10+x; /由三个数字 s,i,x组成一个三位数 six nine=n*1000+i*100+n*10+e; /由四个数字 n,i,n,e组成一个四位数 nine if(3*six)=(2*nine) /如果三倍的三位数 six等于两
7、倍的四位数 nine cnt+; /计数变量 cnt加 1 sum+=six+nine; /把三位数 six与四位数 nine的和累加到变量 sum printf(“six=%d,nine=%dn“,six,nine); /输出满足条件的三位数 six和四位数 nine 解析 计算满足条件的 SIX+SIX+SIX=NINE+NINE的 SIX和 NINE的个数以及满足此条件所有的 SIX与NINE的和,S,I,X,N,E 各代表一个十进制数字。 定义整型变量 s,i,x,n,e,six,nine。 在第一层 for循环中,因为 S的值不能为 0,所以循环变量 s从 1开始,依次递增直到其值等
8、于 10,退出循环。在第二层 for循环中,循环变量 i从 0开始,依次递增直到其值等于 10,退出循环。在第三层for循环中,循环变量 x从 0开始,依次递增直到其值等于 10,退出循环。在第四层 for循环中,因为 n的值不能为 0,所以循环变量 n从 1开始,依次递增直到其值等于 10,退出循环。在第五层 for循环中,循环变量 e从 0开始,依次递增直到其值等于 10。 设置完所有 for循环条件后,在循环体中,由变量 S的值乘以 100,变量 i的值乘以 10,以及变量 x组成一个三位数赋给变量 six,由变量 n的值乘以 1000,变量 i的值乘以 100,变量 n的值乘以 10,以及变量 e组成一个四位数赋给变量 nine,再用 if条件语句判断,如果三倍的 six等于两倍的 nine,则计数变量 cnt加 1,把 six与 nine的和累加到变量 sum,同时在屏幕上,输出 six与 nine的值。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1