![]() ![]() |
|
2005年4月三级网络技术上机试题汇总 | |
作者:佚名 文章来源:不详 点击数 更新时间:2007/12/21 18:25:07 文章录入:杜斌 责任编辑:杜斌 | |
|
|
其中的s,i,x,n,e各代表一个十进制数字。 部分源程序存在文件prog1.c中。 请勿改动主函数main()和输出数据函数writedat()的内容。 #include <stdio.h> int cnt,sum; void countvalue() { int s,i,x,n,e,six,nine; for(s=1;s<10;s++) for(i=0;i<10;i++) for(x=0;x<10;x++) for(n=1;n<10;n++) for(e=0;e<10;e++) { six=s*100+i*10+x; nine=n*1000+i*100+n*10+e; if(3*six==2*nine) { cnt++;sum+=six+nine;} } } void main() { cnt=sum=0; countvalue(); printf('满足条件的个数=%d/n',cnt); printf('满足条件所有的six与nine的和=%d/n',sum); writedat(); } writedat() { file *fp; fp=fopen('out15.dat','w'); fprintf(fp,'%d/n%d/n',cnt,sum); fclose(fp); } 另一种经典解法: void countvalue() { int i; for(i=666;i<=999;i=i+2) if((i/10%10==(3*i/2)/100%10)&&((3*i/2)/1000==(3*i/2)%100/10)) {cnt++;sum+=i+3*i/2;} } 运算结果为: 满足条件的个数=4 满足条件所有的six与nine的和=9430 某网友: 抽到第一题 题目1:下列程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx。请编写函数num(int m,int k,int xx[])实现函数的要求 ,最后调用函数readwritedat()把结果输出到文件out.dat中。 例如:若输入17,5,则应输出:19,23,29,31,37。 注意:部分源程序已给出。 请勿改动主函数main()和函数readwritedat()的内容void num(int m,int k,int xx[]) {int data=m+1; int half,n=0,i; while(1) {half=data/2;for(i=2;i<=half;i++) if(data%i==0)break; if(i>half) {xx[n]=data;n++;} if(n>=k)break; data++; } } |
|
![]() ![]() |