合肥工业大学2005-2007年《C语言程序设计》试卷参考答案.doc_第1页
合肥工业大学2005-2007年《C语言程序设计》试卷参考答案.doc_第2页
合肥工业大学2005-2007年《C语言程序设计》试卷参考答案.doc_第3页
合肥工业大学2005-2007年《C语言程序设计》试卷参考答案.doc_第4页
合肥工业大学2005-2007年《C语言程序设计》试卷参考答案.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

合肥工业大学2005年C语言程序设计试卷参考答案一、 填空题(分,每空1分)1main( ) 或主函数 21 7 3040 54.5 6074 8一个字符 一串字符 9610c 0 11值传递 地址传递 1212345 11316 10 14fp = fopen (“file.txt” , ”w”);二、 选择题(10分,每题1分)1D 2B 3. 4B 5C6B 7C 8D 9A 10B三、 写出以下程序的运行结果(30分, 每题5分)15, 6, 5, 0 数值每个一分,格式一分。2c=1 数值每个两分,格式一分。 d=0.0000003hello world! 大写字母变小写每个两分,其余不变1分。4b = -10 i = 33, b=0 i = 75, b=33 每个数据包括数据的格式各一分,。56, 45 最小值位置,最小值各一分; 2, 98 最大值位置,最大值各一分; 格式1分 注释:最大值最小值颠倒扣2分。61 3 5 7 9 数据各一分,格式错误扣一分。四、程序填空(10分, 每空1分)1. j=s break2. &a,&b int *y int t; *y=t3. iNum=0 i=a & stri=z五、编程题(30分)说明:每个语法错误扣0.5,语法错误最多扣两分为止。1. #include main() float x,y; /*变量定义1分*/ scanf(“%f”, &x); /*输入1分*/ if(x0) y=1; else if(x0) y=-1; else y=0; /*判断求值2分*/ printf(“x=%f, y=%f”, x,y); /*输出1分*/ 2#include main() int i,j,a23,k1=0,k2=0,sum1=0,sum2=0; /*变量说明1分*/ for (i=0;i2;i+) for(j=0;j3;j+) scanf(“%d”, &aij); /*循环输入2分*/for (i=0;i2;i+) for(j=0;j0) sum1= sum1+ aij; k1+; else if (aij0) sum2= sum2+ aij; k2+;/*统计求和3分*/printf(“k1=%d, k2=%d”, k1,sum1,k2,sum2); /*输出1分*/#include #include float exps(float);void main( void)float x,y; /*变量说明0.5分*/scanf(“%f”,&x) /*输入0.5分*/y=(exps(x)+exps(-x)/2 /*函数调用表达式2分*/printf(“y=%f”,y); /*输出结果1分*/float exps(float x)/*函数结构定义1分*/ float s=1,t=1; int i=1;while( fabs(t)1e-6) t=t*x/i; i+; s+=t;/*迭代循环2分*/ return s; /*返回结果1分*/#include #define NUM 45void main(void) int i,j,aNUM,sum=0; /*变量说明1分*/ for(i=0;iNUM;i+) scanf(“%d”,&ai);/*循环输入1分*/ for(i=0;iNUM;i+) if(ai60) sum+; /*循环统计2分*/for(i=0;iNUM-1;i+) for(j=i+1;jNUM;j+) if(aiaj) int t; t=ai; ai=aj; aj=t;/*排序算法5分,冒泡、选择都可*/for(i=0;iNUM;i+) printf(“%5d”,ai);/*循环输出1分*/合肥工业大学2006年C语言程序设计试卷参考答案二、 单项选择题(20分,每题1分)1234567891011121314151617181920一、 填空(10分,每空1分)1C语言源程序中主函数名由系统规定为 _main_ ,程序员是不能改变的。2有数学表达式:-3,其C语言表达式为 _sqrt(x)-3 _。3已知函数定义为:int stat(int a , float *p) . 则此函数的两个参数类型分别是 整形 、 指向浮点型的指针 。4设有数组a10;则首地址可以写成 _a或 &a0_ ,数组元素a3的地址可以写成_&a3_ 或a+3_ _。5要使以下程序段中的函数调用语句printf(“*”);执行10次,应在 处填入整数 _19或20_。for( i=1;i=_;i+=2 ) printf(“*”);7用只读方式打开e:20051234目录下的名为 “aa.dat”的文件,正确的打开语句为FILE *fp;fp=fopen(“e:20051234 aa.dat”,”r”); 。8.判断两个浮点型变量x和y是否相等一般用:if( fabs(x-y) 1e-6 ) 。9.已知赋值语句zhang.year =1985;可判断zhang是 结构或联合 类型的变量。说明:每一个空只有完全正确,得1分。三、 写出以下程序的运行结果(20分,每题5分)1 * * * 3行各1分,每行个数共1分,图形形状1分2m1=-16,m2=24 最小数2分,最大数2分,逗号1分(数据颠倒扣2分)3 930001 Wang 80.50 930003 Li 95.50 两行记录各2分,格式1分4 6 7 两行数据各2分,格式1分 四、 程序设计题(50分)1有一分段函数: 2x + 5 (x=2) y= 3x - 4 (2x5) 编程序,输入变量 x的值,计算并输出y的值。(7分)#include void main(void) -1分 float x,y;/*或int x,y */ -1分 scanf(“%f”,&x); -1分 if(x = 2) y = 2*x+5; else if(x = 5) y = 3*x-4; else y = 7; 条件分支3分 printf(“y=%f”,y); -1分2由键盘任意输入10个同学的数学成绩,按从高分到低分的顺序排序,并输出排序后的成绩。(9分)#include void main(void) -1分 int a10,i,j,t; -1分 for(i=0;i10;i+)scanf(“%d”,&ai); -1分 for(i=0;i9;i+)for(j=i+1;j10;j+) if(aiaj) t=ai; ai=aj; aj=t;排序算法5分 for(i=0; i10;i+)printf(“%5d”,ai); -1分3编写程序,通过级数 求的值,要求精度为10-6 (即某项的绝对值小于10-6),输出结果的值。(8分)#include #include void main(void) -1分 float pi=0,t=1,it=1; int s=1;-2分 while(fabs(t)1e-6) pi+=t; it+=2; s=-s;t=s/it;级数算法4分 printf(“PI=%f”,4*pi);-1分4编写一程序任意输入一串字符,统计其中大写字母的个数,并输出结果。(7分)#include #include void main(void) -1分 char str80;int iCount=0,i; -1分gets(str); -1分 for(i=0;stri!=0;i+) if(srti=A&stri= Z)iCount+; 循环统计3分 printf(“%5d”,iCount); -1分5由键盘任意输入9个整数,组成3行3列的二维数组,统计主对角线上元素的和。(7分)#include void main(void) -1分 int a33,i,j,sum=0; -1分 for(i=0;i3;i+)for(j=0;j3;j+)scanf(“%d”,&aij); -2分 for(i=0;i3;i+)sum+=aii;循环求和2分printf(“%5d”,sum); -1分6编制子函数,以判断一个整数n是否为素数,如果n是素数,则返回整数1;如果n不是素数,则返回整数0;并在主函数中调用该函数以统计100到200之间的素数的个数。(12分)#include int isPrime(int);-1分void main(void) int i,iCount=0; -1分 for(i=101;i200;i+=2) if(isPrimer(i)=1) iConut+循环统计3分 printf(“%5d”,iCount);-1分int isPrime(int n)-1分 int i;-1分 for(i=2;i=n/2;i+) if(n%i = 0) return 0;循环判断3分 return 1;-1分说明:1基本原则是:函数头1分,变量说明1分,输入1分,输出1分,其余为主体结构的分数; 2头文件没写扣1分,算法的主体结构不正确,扣主体结构的主要分数。3每题每个语法错误扣0.5分,三个语法错误扣2分,累计到2分为止。4要求用函数的没有使用函数,算法正确只能得一半分!5除第6题限制使用函数外,其余不限制方法。6由于结构错误、分支错误、循环错误,使程序执行不能得到正确结果,扣主体结构的主要分数。合肥工业大学2007年C语言程序设计试卷参考答案一、 选择题D2A3B4C5B6D7B8C9B10B11B12D13D14D15D16B17A18C19C20A21A22C23B24B25C二、 填空题13 20x 3 1 4sin(x)+sqrt(x)-6*x 5 0 6string.h 7a=2,b=1 8递归 9 地址传递 10 41112 126 1316 14 4 1599三、 写出程序运行结果1 10, 10 1 01112 1+1=2 1+2=3 1+3=42+2=4 2+3=53+3=63 a=1,b=-5,c=0a=2,b=2,c=10a=3,b=-5,c=24 ABCDBCDCDD5 Input score: 90.5 (自拟) No: 1001 Name: Wang yong Score: 90.56 3, 8 28四 程序设计题1 #include void main() char ch; int letter=0,digit=0,other=0; while(ch=getchar()!= n) if(ch= a&ch= A&ch= 0&ch= 9) digit+; else other+; printf (“%d,%d, %dn”,letter, digit,other); 2. #include#define N 36void main() int i,j,t;float av=0,scoN; for(i=0;iN;i+) scanf(%f,&scoi); av+=scoi; av=av/N; for(i=0;iN-1;i+) for(j=i+1;jscoj) t=scoi; scoi=scoj; scoj=t; for(i=0;iN;i+) printf(%4.2f,scoi); printf(n); for(i=0;iav) printf(%4.2fn,scoi);3. #include void main() int n,i; float e=1, t=1; scanf(%d,&n); for(i=1;i1e-6) e+=1/t; printf(ne=%f,e);4. #include#define N 3void max(int c3,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论