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

上传人:腾**** 文档编号:40421189 上传时间:2018-05-26 格式:DOC 页数:3 大小:59.50KB
返回 下载 相关 举报
2009秋c语言上机试卷c04答案_第1页
第1页 / 共3页
2009秋c语言上机试卷c04答案_第2页
第2页 / 共3页
2009秋c语言上机试卷c04答案_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《2009秋c语言上机试卷c04答案》由会员分享,可在线阅读,更多相关《2009秋c语言上机试卷c04答案(3页珍藏版)》请在金锄头文库上搜索。

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

2、 。例。例 如:如:0.125 的二进制科学计数法表示是的二进制科学计数法表示是 1.0 2 11 。 若若用用 B 代代表表基基数数 2,则则 a2 n可可表表示示为为 aB n 的的形形式式。例例如如, 1.0 2 11表示为表示为 1.0 B 11。 【测试数据与运行结果测试数据与运行结果】 第一次运行时输入:第一次运行时输入:0 输出:输出:0.0B0 第二次运行时输入:第二次运行时输入:0.125 输出:输出:1.0B-11 第三次运行时输入:第三次运行时输入:315 输出:输出:1.00111011B+1000 【含有错误的源程序含有错误的源程序】 #include void ou

3、tBinary(int x) if(x/2) outBinary(x/2);printf(“%d“,x%2); void outFloatBinary(float x) int e=0;if(x=0) puts(0.0B0); /* 语法错,中,改为语法错,中,改为 puts(“0.0B0”); */return; if(x=2.0) e+; x/=2; while(x0) printf(“B+“); outBinary(e); else printf(“B-“); outBinary(-e); C 语言 2009 年秋 C04 答案 第 2 页printf(“n“); void main(

4、) float a;scanf(“%f“, outFloatBinary(a);getch(); 二、编程题(二、编程题(24 分)分) 【程序功能程序功能】 求求 3000 以内的亲密数对。以内的亲密数对。 如果如果 A 的全部真因子(包括的全部真因子(包括 1,不包括,不包括 A 自身)之和等于自身)之和等于 B;B 的全部真因子之和等的全部真因子之和等 于于 A,则称整数,则称整数 A 和和 B 为一对亲密数。为一对亲密数。 【编程要求编程要求】 1. 编写函数编写函数 int frinum(long s2,long n)实现以下功能:找到实现以下功能:找到 2 n 范围内的所有亲密数对

5、,范围内的所有亲密数对, 将这些亲密数对保存到将这些亲密数对保存到 s 指向的二维数组中。函数返回指向的二维数组中。函数返回 s 数组中存储的亲密数对的对数。数组中存储的亲密数对的对数。2. 编写函数编写函数 main 实现以下功能:声明二维数组实现以下功能:声明二维数组 s 和变量和变量 n,输入一个正整数并保存到,输入一个正整数并保存到 n 中,用二维数组中,用二维数组 s 和变量和变量 n 作为实参调用作为实参调用 frinum 函数,将函数,将 n 以内的所有亲密数对输出以内的所有亲密数对输出 到屏幕及文件到屏幕及文件 myf2.out 中。最后将考生本人的准考证号输出到文件中。最后将

6、考生本人的准考证号输出到文件 myf2.out 中。中。 【测试数据与运行结果测试数据与运行结果】 输入:输入:n=3000 输出:输出: ( 220,284 )( 1184,1210 )( 2620,2924 ) 【参考答案参考答案】 #include int frinum(long s2,long n) long a,b,m,i,k=0;for(a=2;am) sk0=a; sk1=b; k+; return k; void main() int i,j; long n,s202; FILE *fp;if (fp=fopen(“myf2.out“, “w“)=NULL)C 语言 2009 年秋 C04 答案 第 3 页 printf(“Can not open the file myf2.out!n“); exit(1); scanf(“%ld“,j=frinum(s,n);for(i=0;ij;i+) printf(“n( %ld,%ld )“,si0,si1);fprintf(fp,“n( %ld,%ld )“,si0,si1);fprintf(fp,“nMy exam number is :0112400123“);fclose(fp); getch();

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号