2005年4月三级网络技术上机试题汇总 |
|
www.nanhushi.com 佚名 不详 |
下列程序prog1.c的功能是:计算出自然数six和nine,它们满足的条件是six+six+six=nine+nine的个数cnt以及满足此条件所有的six与nine的和sum。请编写函数countvalue()实现程序的要求,最后调用函数writedat()把结果cnt和sum,输出到文件out15.dat中。
其中的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++; } }
|
|
|
文章录入:杜斌 责任编辑:杜斌 |
|
上一篇文章: 《C语言》上机实验题及参考答案 下一篇文章: 计算机等级考试三级信息管理技术笔试样题 |
【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|