2009秋c语言上机试卷c04答案

2009秋c语言上机试卷c04答案

ID:12154773

大小:59.50 KB

页数:3页

时间:2018-07-15

2009秋c语言上机试卷c04答案_第1页
2009秋c语言上机试卷c04答案_第2页
2009秋c语言上机试卷c04答案_第3页
资源描述:

《2009秋c语言上机试卷c04答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、2009年秋二级C语言上机试卷(试卷代号C04)答案一、改错题(16分)【程序功能】将一个实数转换为二进制科学计数法表示并输出。二进制科学记数法是指将一个绝对值大于2或小于1的实数记为a×2±n形式,其中尾数a是用二进制表示的实数且1≤

2、a

3、<2,指数中的n是用二进制表示的整数。例如:0.125的二进制科学计数法表示是1.0´2-11。若用B代表基数2,则a×2±n可表示为aB±n的形式。例如,1.0´2-11表示为1.0B-11。【测试数据与运行结果】第一次运行时输入:0输出:0.0B0第二次运行时输入:0.125输出:1.0B-11第三次运行时输入:315输出:1.

4、00111011B+1000【含有错误的源程序】#includevoidoutBinary(intx){if(x/2)outBinary(x/2);printf("%d",x%2);}voidoutFloatBinary(floatx){inte=0;if(x==0){puts(0.0B0);/*语法错,中,改为puts(“0.0B0”);*/return;}if(x<0){putchar('-');x=-x;}while(x>=2.0){e++;x/=2;}while(x<1.0){e++;x*=2;}/*算法错,中,改为{e--;x*=2;}*/p

5、rintf("1.");x=(x-(int)x)*2;do{printf("%d",x);/*语义错,偏难,改为printf("%d",(int)x);*/x=(x-(int)x)*2;}while(x!=0);if(e=0)printf("B0");/*语义错,易,改为if(e==0)printf("B0");*/elseif(e>0){printf("B+");outBinary(e);}else{printf("B-");outBinary(-e);}printf("");C语言2009年秋C04答案第3页}voidmain(){floata;scanf("%

6、f",&a);outFloatBinary(a);getch();}二、编程题(24分)【程序功能】求3000以内的亲密数对。如果A的全部真因子(包括1,不包括A自身)之和等于B;B的全部真因子之和等于A,则称整数A和B为一对亲密数。【编程要求】1.编写函数intfrinum(longs[][2],longn)实现以下功能:找到2~n范围内的所有亲密数对,将这些亲密数对保存到s指向的二维数组中。函数返回s数组中存储的亲密数对的对数。2.编写函数main实现以下功能:声明二维数组s和变量n,输入一个正整数并保存到n中,用二维数组s和变量n作为实参调用frinum函数,将n

7、以内的所有亲密数对输出到屏幕及文件myf2.out中。最后将考生本人的准考证号输出到文件myf2.out中。【测试数据与运行结果】输入:n=3000输出:(220,284)(1184,1210)(2620,2924)【参考答案】#includeintfrinum(longs[][2],longn){longa,b,m,i,k=0;for(a=2;a<=n;a++){for(b=0,i=1;i<=a/2;i++)if(!(a%i))b+=i;for(m=0,i=1;i<=b/2;i++)if(!(b%i))m+=i;if(m==a&&b>m){s[k][

8、0]=a;s[k][1]=b;k++;}}returnk;}voidmain(){inti,j;longn,s[20][2];FILE*fp;if((fp=fopen("myf2.out","w"))==NULL){printf("Cannotopenthefilemyf2.out!");exit(1);}scanf("%ld",&n);C语言2009年秋C04答案第3页j=frinum(s,n);for(i=0;i

9、0],s[i][1]);}fprintf(fp,"Myexamnumberis:0112400123");fclose(fp);getch();}C语言2009年秋C04答案第3页

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。