1、国家三级信息管理技术机试模拟试卷 51及答案与解析 一、程序设计题 1 下列程序的功能是:计算出自然数 SIX和 NINE,它们满足的条件是SIX+SIX+SIX=NINE+NINE的个数 cnt,以及满足此条件的所有 SIX与 NINE的和sum。请编写函数 countValue()实现程序要求,最后调用函数 writeDAT()把结果 cnt和 sum输出到文件 OUT51.DAT中。其中的 S, I, X, N, I, N, E各代表一个十进制数。 注意:部分源程序已给出。 请勿改动主函数 main()和写函数 writeDAT()的内容。 #include stdio. h int c
2、nt, sum; void countValue () void main () cnt=sum=0; countValue (); printf ( “满足条件的个数 =%dn“, cnt); printf (“满足条件所有的 SIX与 NINE的和 =%dn“, sum); writeDAT (); writeDAT () FILE *fp; fiD=foDen (“OUT51. DAT“, “w“ ); fprintf (fp, “%dn%dn“, cnt, sum); fclose (fp); 国家三级信息管理技术机试模拟试卷 51答案与解析 一、程序设计题 1 【正确答案】 下列程序
3、的功能是:计算出自然数 SIX和 NINE,它们满足的条件是 SIX+SIX+SIX=NINE+NINE的个数 cnt,以及满足此条件的 所有 SIX与 NINE的和 sum。请编写函数 countValue()实现程序要求,最后调用函数 writeDAT()把结果cnt和 sum输出到文件 OUT51.DAT中。其中的 S, I, X, N, I, N, E各代表一个十进制数。 注意:部分源程序已给出。 请勿改动主函数 main()和写函数 writeDAT()的内容。 #include stdio. h int cnt, sum; void countValue () void main
4、() cnt=sum=0; countValue (); printf ( “满足条件的个数 =%dn“, cnt); printf (“满足条件所有的 SIX与 NINE的和 =%dn“, sum); writeDAT (); writeDAT () FILE *fp; fiD=foDen (“OUT51. DAT“, “w“ ); fprintf (fp, “%dn%dn“, cnt, sum); fclose (fp); 【试题解析】 本题考查的知识点如下: (1)循环与判断的嵌套使用。 (2)多条件的布尔运算。 (3)“%” 与 “/”运算符的使用。 根据题意,求的是满足 3位数乘以 3等于 4位数乘以 2的数的个数。我们可以使用循环结构对所有的 3位数进行判断,若某个 3位数乘以 3整除 2所得的数是 4位整数,则这个 3位数是满足条件的数。当判断的数不再是 3位数或者进行处理后所得的数大于 9999,则要退出循环。在这里,还要注意判断结构中 ,各条件之间是用 “与 ”运算还是用 “或 ”运算。