ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:33.47KB ,
资源ID:24138603      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24138603.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(大一C语言考试上附答案.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

大一C语言考试上附答案.docx

1、大一C语言考试上附答案1. 有一个函数,写一段程序,输入的值,输出的值。#includeint main() int x,y; scanf(%d,&x); if(x100|x0) y=-1; else if(x=0) y=0; else y=1; printf(%dn,y); return 0;2. 输入3个实数a,b,c,输出其中最小的数。#includeint main() int a,min=32767,n=3; while(n-) scanf(%d,&a); if(amin) min=a; printf(%dn,min); return 0;3. 输入三角形的三边a,b,c,判断a,b

2、,c,能否构成三角形,若能,计算面积。#include#includeint main() int a,b,c,s,d; scanf(%d%d%d,&a,&b,&c); if(a+bc&a+cb&b+ca) d=(a+b+c)/2; s=sqrt(d*(d-a)*(d-b)*(d-c); printf(%dn,s); else printf(三边构不成三角形n);4. 输入4个整数,输出4个数中的最大值、最小值。#includeint main() int a,max=-32768,min=32767,n=4; while(n-) scanf(%d,&a); if(amax) max=a; i

3、f(amin) min=a; printf(%d %dn,max,min); return 0;5. 要求按照成绩的等级输出百分制分数段, A等为90分以上,B等为8089,C等为7079,D等为6069,E等为60分以下。成绩的等级由键盘输入,若输入的等级非A、B、C、D、E字符,输出”enter data error”。 #includeint main() char a; a=getchar(); if(a=A) printf(90分以上n); else if(a=B) printf(8089n); else if(a=C) printf(7079n); else if(a=D) pri

4、ntf(6069n); else if(a=E) printf(60分以下n); else printf(enter data errorn); return 0;6. 有一个函数:,写一段程序,输入的值,输出的值。#includeint main() int x,y; scanf(%d,&x); if(x1) y=x; printf(%dn,y); else if(x=10) y=3*x-11; printf(%dn,y); else y=2*x-1; printf(%dn,y); return 0;7. 输入成绩,要求输出成绩等级A、B、C、D、E或error。90分以上为A,8089分为

5、B,7079分为C,6069分为D,060分为E。若输入成绩低于0分和高于100分则输出error。#includeint main() int a; scanf(%d,&a); if(a100) printf(errorn); else if(a90) printf(An); else if(a80) printf(Bn); else if(a70) printf(Cn); else if(a60) printf(Dn); else printf(En); return 0; 8. 求一元二次方程ax2+bx+c=0的解。(考虑b2-4ac三种情况)#include#includeint m

6、ain() double a,b,c,d,e,x1,x2,i; scanf(%lf%lf%lf,&a,&b,&c); d=b*b-4*a*c; e=-b/(2*a); if(d1e-6) x1=e+sqrt(d)/(2*a); x2=e-sqrt(d)/(2*a); printf(%.2lf %.2lf,x1,x2); else if(d=1e-6) x1=x2=e; printf(%.2lf %.2lf,x1,x2); else printf(%.2lf+%.2lfi %.2lf-%.2lfin,e,sqrt(-d)/(2*a),e,sqrt(-d)/(2*a); return 0; 9.

7、输入某年某月某日,判断这一天是这一年的第几天?(注意是否为闰年)#includeint main() int i,n=0,year,math,day,s12=31,28,31,30,31,30,31,31,30,31,30,31; scanf(%d%d%d,&year,&math,&day); if(year%4=0&year%100!=0)|(year%400=0) s1=29; for(i=0;imath-1;i+) n=n+si; n=n+day; printf(%dn,n); return 0;10. 公司规定,男职工到60岁退休,女职工到55岁退休。编写一个程序,输入职工的性别和年龄

8、,判断出该职工是“已退休”还是“在职”。(输入时,用一个小写英文字母来表示性别,m表示男性,f表示女性)。#includeint main() char a; int b; a=getchar(); scanf(%d,&b); if(a=m) if(b=60) printf(已退休n); else printf(在职n); else if(a=f) if(b=55) printf(已退休n); else printf(在职n); return 0;11.输入一个数,判断该数是否为素数。#includeint main() int a,b; scanf(%d,&a); for(b=2;ba;b+

9、) if(a%b=0)break; if(ba) printf(%d is not a prime number.n,a); else printf(%d is a prime number.n,a); return 0;12. 编程实现求解s=1*2+2*3+3*4+20*21,并输出结果。#includeint main() int a,s=0; for(a=1;a=20;a+) s=s+a*(a+1); printf(%dn,s); return 0;13.求Fibonacci数列的前20个数,并按每行5个数输出。#includeint main() int f1=1,f2=1,a,f3

10、; printf(%d %d ,f1,f2); for(a=3;a=20;a+) f3=f1+f2; printf(%d ,f3); if(a%5=0) printf(n); f1=f2; f2=f3; return 0;14. 求1+3!+5!+.+19!的和。#includeint main()double s,c=0; int a,b; for(a=1;a=19;a+=2) s=1; for(b=1;b=a;b+) s=s*b; c=c+s; printf(%lfn,c); return 0; 15. 有一分数序列,求其前30项的和。#includeint main() int i; d

11、ouble a=1,b=2,s=0,t; for(i=1;i=30;i+) s=s+a/b; t=b; b=a+b; a=t; printf(%lfn,s); return 0;16.编写一个程序,计算1+3+32+33310的值并输出。#include#includeint main() int a=0,i; for(i=0;i=10;i+) a=a+pow(3,i); printf(%dn,a); return 0;17.从键盘任意输入一个4位数x,编程计算x的每一位数字相加之和。例如,输入x为1234,则其千位为1、百位为2、十位为3、个位为4,然后计算1+2+3+4=10,输出10。(

12、要求使用循环实现)#includeint main() int m,n,s=0; scanf(%d,&m); while(m!=0) n=m%10; m=m/10; s=s+n; printf(%dn,s); return 0;18. 输入一个八进制数,并将其转换为十进制。(要求使用循环实现)#include#includeint main() int a,b=0,m=0; scanf(%d,&a); while(a!=0) m=m+(a%10)*(int)pow(8,b); b+; a=a/10; printf(%dn,m); return 0;19. 输入两个正整数m和n,求其最大公约数和

13、最小公倍数。#includeint main() int a,b,c,d,p; scanf(%d%d,&a,&b); if(ab) c=a; a=b; b=c; p=a*b; while(b!=0) d=a%b; a=b; b=d; printf(%d %dn,a,p/a); return 0;20.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?#includeint main() int i; float h=50,a=100; for(i=2;i=10;i+) a=a+2*h; h=h/2; printf(%f %f

14、n,a,h); return 0;21. 输出倒三角形式的9*9口诀表,要求用循环实现。9*1=9 9*2=18 9*3=27 9*4=36 9*9=818*1=8 8*2=16 8*3=24 8*4=32 8*8=61*1=1#includeint main() int a,b,s; for(a=9;a0;a-) for(b=1;b=a;b+) s=a*b; printf(%d*%d=%d ,a,b,s); printf(n); 22. 输出菱形图案。(要求使用双循环实现,不能利用字符数组或简单的printf函数输出)#includeint main() int a,b,c; for(a=1

15、;a=5;a+) for(b=1;b=5-a;b+) printf( ); for(c=1;c=2*a-1;c+) printf(*); printf(n); for(a=1;a=4;a+) for(b=1;b=a;b+) printf( ); for(c=1;c=9-2*a;c+) printf(*); printf(n); return 0;23. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6的因子为1,2,3,而6=1+2+3,因此6是完数。编写程序找出500以内的所有完数,并按下面的格式输出其因子:6 its factors are 1,2,3#includeint m

16、ain() int a,b,c; for(a=2;a500;a+) b=0; for(c=1;ca;c+) if(a%c)=0)b+=c; if(b=a) printf(%d,its factors are ,a); for(c=1;ca;c+) if(a%c=0)printf(%d ,c); printf(n); return 0;24.编程输出如下形式的九九乘法表1 2 3 4 5 6 7 8 9- - - - - - - - -12 43 6 98 16 24 32 40 48 56 64 9 18 27 36 45 54 63 72 81#includeint main() int a

17、,b,s; for(a=1;a=9;a+) for(b=1;b=a;b+) s=a*b; printf(%d ,s); printf(n); 25.一个偶数总能表示为两个素数之和。要求:输入一个偶数,将其表示成两个素数之和,直到输入的数为0。#includeint main() int i,j,n,k; printf(请输入一个偶数n); scanf(%d,&n); if(n!=0) for(i=2;i=n/2;i+) for(j=2;ji;j+) if(i%j=0) break; if(j=i) for(k=2;kn-i;k+) if(n-i)%k=0) break; if(k=(n-i)

18、printf(%d %dn,i,k); return 0;26. 输入10个整型整数,用起泡法对这10个数排序,并该由小到大顺序在屏幕上输出。#includeint main() int a,b,c,s10; for(a=0;a10;a+) scanf(%d,&sa); printf(n); for(b=0;b9;b+) for(a=0;asa+1) c=sa; sa=sa+1; sa+1=c; for(a=0;a10;a+) printf(%d ,sa); printf(n); return 0;27. 输入10个整型整数,用选择法对这10个数排序,并该由大到小顺序在屏幕上输出。#inclu

19、deint main() int a10,i,j,t,min; for(i=0;i10;i+) scanf(%d,&ai); for(i=0;i10;i+) min=i; for(j=i+1;jaj) min=j; t=ai; ai=amin; amin=t; for(i=0;i10;i+) printf(%d ,ai); printf(n); return 0;28. 将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1改后成为1,4,5,6,8。(同一数组中完成)#includeint main() int i; char a5; scanf(%s,a); for(i=4;i

20、=0;i-) printf(%c,ai); printf(n); return 0;29. 给一个不多于6位的正整数,要求:求出它是几位数;分别输出每一位数字;按逆序输出各位数字,例如原数为158,应输出851。(利用数组知识)#include#includeint main() int m,i,j; char a50; scanf(%s,a); m=strlen(a); printf(%dn,m); for(i=0;i=0;j-) printf(%c,aj); printf(n); return 0;30. 用筛选法求100之内的素数。(利用数组知识)#include#includeint

21、main() int a101,i,j,n; for(i=0;i100;i+) ai=i; a0=1; for(i=2;isqrt(100);i+) for(j=i+1;j=100;j+) if(ai!=0&aj!=0) if(aj%ai=0) aj=0; for(i=2,n=0;i100;i+) if(ai!=0) printf(%d ,ai); printf(n); return 0;31. 编程实现:输入任意一个不超过5位的十进制整数,取出该数中的所有奇数数字,按原来的顺序组成一个新的数。#include#includeint main() int i,b; char a10; gets

22、(a); b=strlen(a); for(i=0;ib;i+) if(int)ai%2!=0) printf(%c,ai); puts();32. 有一个已升序排列的数组,要求输入一个数后,按原来排序的规律将它插入数组中。(在同一数组中实现)#includeint main() int i,j,s; char a10=1,2,4,9,32,41,64,88,91,98; scanf(%d,&s); for(i=0;iai) printf(%d ,ai); else break; printf(%d ,s); for(j=i;j+) printf(%d ,aj); if(aj=a9) brea

23、k; printf(n); return 0;33. 将一个二维数组a的行和列的元素互换(即行列互换),存到另一个二维数组b中。#includeint main() int i,j,a23=1,2,3,4,5,6,b32; for(i=0;i2;i+) for(j=0;j3;j+) printf(%5d,aij); bji=aij; printf(n); for(i=0;i3;i+) for(j=0;j2;j+) printf(%5d,bij); printf(n); return 0;34. 在一个3*4的二维数组a中,要求编程求出其中值最大的那个元素的值,并输出其所在的行号和列号。 #includeint main() int i,j,a=0,b=0,s34=1,2,3,4,5,6,7,8,9,10,11,12,max; max=s00; for(i=0;i3;i+) for(j=0;jmax) max=sij; a=i; b=j; printf(%d %d %dn,max,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1