1、计算机三级网络技术机试(上机操作)模拟试卷 44及答案与解析 一、程序设计题 1 请编写函数 countValue()其功能是:计算出自然数 SIX和 NINE,它们满足的条件是 SIX+SIX+SIX=NINE+NINE的个数 count,以及满足此条件的所有 SIX与NINE的和 sum。最后调用函数 WriteData()把结果 count和 sum输出到文件OUT DAT中。其中, S, I, X, N, E各代表一个十进制数。 注意;部分源程序已给出。 请勿改动主函数 main()和写函数 WriteData()的内容。 试题程序: #include int count, sum;
2、void WriteData(); void countValue() void main() count=sum=0; countValue(); printf(“count= d n”, count); printf(“SIX+NINE= d n”, sum); writeData(); void WriteData() FILE*fp; fp=fopen(“OUT DAT”, “W”); fprintf(fp, “count= d nsum= d n”, count sum); fclose(fp); 计算机三级网络技术机试(上机操作)模拟试卷 44答案与解析 一、程序设计题 1 【正确
3、答案】 void countValue() int S, I, X, N, E, SIX, NINE; for(S=0; S=9; S+) 将 S, I, X, N, E进行循环穷举 for(I=0; I=9; I+) for(X=0; X=9; X+) for(N=0; N=9; N+) for(E=0; E=9; E+) SIX=100*s+10*I+x; SIX的计算方法 NlNE=1000*N+100*I+10*N+E; NINE的计算方法 if(3*S1X=2*NINE) count+; sum+=(SIX+NlNE); 【试题解析】 本题主要考查分解数据的重组以及用穷举法解方程的方法。 本题用穷举法 (即将 S, I, X, N, E分别从小到大代入验证 )即可很快得到所有的值。解谊题的关键是知道如何由各数位上的数字得到它们所组成的数字,解决这一问题的方法是将各教位上的数字乘以相应的权值再求和即可。即可这样编程: SIX=100*S+10*I+X; NlNE=1000*N+100*I+10*N+E。