C语言试题.docx
- 文档编号:9401396
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:67
- 大小:48.57KB
C语言试题.docx
《C语言试题.docx》由会员分享,可在线阅读,更多相关《C语言试题.docx(67页珍藏版)》请在冰豆网上搜索。
C语言试题
2011-2012学年C语言试题
1.有一个函数
写一段程序,输入
的值,输出
的值。
2.输入3个数a,b,c,按大由到小的顺序输出。
3.输入4个数,输出4个数中的最大值、最小值。
4.输入成绩,要求输出成绩等级A、B、C、D、E或error。
90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,0~60分为‘E’。
若输入成绩低于0分和高于100分则输出error。
5.有一个函数:
写一段程序,输入
的值,输出
的值。
6.输出300~400之间的全部素数,并按每行5个数输出。
7.求1~100之间能被7或11整除,但不能同时被7或11整除的所有整除,并按每行5个数输出。
8.求Fibonacci数列的前20个数,并将其分5行输出。
9.求
。
10.有一分数序列
,求其前20项的和。
11.输出小于500的所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。
例如,153是一个水仙花数,因为
。
12.给一个不多于6位的正整数,要求:
①求出它是几位数;②分别输出每一位数字;③按逆序输出各位数字,例如原数为158,应输出851。
13.求5+55+555+5555+55555的值(要求用循环实现)。
14.输出倒三角形式的9*9口诀表,要求用循环实现。
15.求一元二次方程ax2+bx+c=0的解。
16.输入一行字符,分别统计出其中的英文字符、数字和其他字符的个数。
17.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?
都是多少?
18.输入10个整型整数,用起泡法对这10个数排序,并该由小到大顺序在屏幕上输出。
19.将一个二维数组a的行和列的元素互换(即行列互换),存到另一个二维数组b中。
20.在一个3*4的二维数组a中,要求编程求出其中值最大的那个元素的值,并输出其所在的行号和列号。
21.输入一行字符,统计其中有多少个单词,单词之间用空格分隔开
22.有3个字符串,要求找出其中最大者。
23.输入两个整数,要求用一个函数求出其中的大者,并在主函数中输出此值。
24.输入两个整数,要求用一个函数求出其最大公约数和最小公倍数,并在主函数中调用该子函数。
25.输入4个整数,找出其中最大的数。
用函数的嵌套调用来处理。
26.用递归方法求5!
。
27.按以下递归公式求函数的值。
例如,当给n输入5时,函数值为18,(要求用递归实现)。
28.编写一个函数,用来分别求数组score_1(有5个元素)和数组score_2(有10个元素)各元素的平均值。
29.将一个数组中的值按逆序重新存放。
例如,原来顺序为8,6,5,4,1改后成为1,4,5,6,8。
30.用递归法将一个整数n转换成字符串。
例如,输入483,应输出字符串“483”,n的位数不确定,可以是任意位数的整数。
31.用筛选法求100之内的素数。
32.编一个程序,将两个字符串连接起来,不要用strcat函数。
33.编写一个函数,比较两个字符串的大小,并在main函数中调用此函数,不要调用strcmp函数。
34.用指针实现输入3个整数并按从小到大的顺序输出。
35.用指针实现输入3个整数并按从大到小的顺序输出。
36.用指针实现将数组b[10]中的元素按逆序存放。
37.编写一程序,实现从键盘接收一个字符串,然后删除其中的空格后并输出。
如:
输入“Iamastudent!
”,输出“Iamastudent!
”,要求用指针实现。
38.用冒泡法实现对10个整数按从大到小的顺序排序输出(要求用指针实现)。
39.用选择法实现对10个整数按从小到大的顺序排序输出(要求用指针实现)。
40.编写一个函数实现字符串复制功能(要求用指针作为函数参数)。
41.定义一个结构体变量(包括年、月、日)。
计算当天是本年中的第几天,注意闰年问题。
42.设计候选人得票统计程序,要求有4个侯选人(分别是Zhang、Wang、Li、Zhao),选民每次输入一个被选人的姓名,最后统计出各人的得票结果。
43.定义一个包括学号、姓名、年龄的学生结构体,要求实现三个学生信息的输入输出,并输出平均年龄。
44.定义一个包括教师编号、姓名、工资的教师结构体,要求实现三个教师信息的输入输出,并输出平均工资。
45.定义一个包括职员号、姓名、工资的职员结构体,要求实现三个职员信息的输入输出,并输出平均工资。
46.建立动态数组,输入5个学生的成绩,另外用一个函数检查其中有无低于60分的,输出不合格的成绩。
47.写一函数,求一个字符串的长度。
在main函数中输入字符串,并输出其长度(要求用指针实现)。
48.有一个一维数组score,内放10个学生成绩,用一个函数求平均成绩,并将10个成绩中不及格(小于60)的成绩和该成绩在数组中的序号输出。
49.有一个一维数组内放10个数,设计函数,求出10个数中的最大值、最小值、平均值。
50.找出一个2维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。
51.输入3个学生4门课的成绩,分别用函数实现如下功能:
(1)计算每个学生平均分;
(2)计算每门课的平均分;
(3)找出12个分数中最高分所对应的学生和课程。
52.用一个函数实现将一行字符串中的最长的单词输出。
此行字符串从主函数传递给该函数。
53.输出菱形图案(要求用循环实现)
54.有一个已排好序的数组,要求输入一个数后,按原来排序的规律将她插入数组中。
55.写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息。
56.有一篇文章,共有4行文章,每行有60个字符。
要求分别统计出其中英文大写字符、小写字母、数字、空格以及其他字符的个数。
57.有一行电文,已按下面规律译成密码:
A→Za→z
B→Yb→y
C→Xc→x
即第1个字母变成第26个字母,第i个字母变成第(26–i+1)个字母。
非字母符号不变。
要求编程序将密码译回原文,并输出密码和原文。
58.有n个人围成一圈,顺序排号。
从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下来的是原来第几号的那位(要求用指针知识实现)。
59.有3个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入3个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩、平均分数)(用结构体)。
60.写一个函数,将一个字符串中的元音字母复制到另一个字符串,然后输出。
61.编一程序,输入月份号,输出该月的英文月名。
例如,输入3,则输出March,要求用指针数组处理。
62.从键盘上读入3个字符串,对它们按字母大小的顺序排序,然后把排好序的字符串送到磁盘文件中保存。
63.在磁盘文件上存有10个学生的数据。
要求将第1,3,5,7,9个学生数据输入计算机,并在屏幕上显示出来。
64.有两个磁盘文件“file1”和“file2”,各存放一行字母,要求把两个文件中的信息合并(按字母顺序排序),输出到一个新文件“file3”中去。
参考答案
1、
#include
voidmain()
{
floatx;
inty;
printf("请输入一个x的值:
\nx=");
scanf("%f",&x);
if(x<0||x>100)
y=-1;
elseif(x==0)
y=0;
else
y=1;
printf("y=%d",y);
printf("\n");
}
2、
#include
voidmain()
{
floata,b,c,t;
printf("请输入三个数,数之间以空格连接:
\n输入的数分别为:
");
scanf("%f%f%f",&a,&b,&c);
if(a
{
t=a;a=b;b=t;
}
if(a { t=a;a=c;c=t; } if(b { t=b;b=c;c=t; } printf("a、b、c由大到小排列为: \n%.2f\n%.2f\n%.2f\n",a,b,c); } 3、 #include voidmain() { floata,b,c,d,max=0,min=0; printf("请输入四个数字,中间以空格分开: \n"); printf("四个数字分别为: "); scanf("%f%f%f%f",&a,&b,&c,&d); printf("\n"); max=(a>b)? a: b; max=(max>c)? max: c; max=(max>d)? max: d; min=(a a: b; min=(min min: c; min=(min min: d; printf("四个数中最大的数为: %.2f\n",max); printf("四个数中最小的数为: %.2f\n",min); } 4、 #include voidmain() { floatfen; intc; printf("请输入学生的成绩: "); scanf("%f",&fen); if(fen<0||fen>100) c=4; elseif(fen>=0&&fen<60) c=5; else c=fen/10; switch(c) { case9: printf("学生成绩等级为: A\n");break; case8: printf("学生成绩等级为: B\n");break; case7: printf("学生成绩等级为: C\n");break; case6: printf("学生成绩等级为: D\n");break; case5: printf("学生成绩等级为: E\n");break; case4: printf("输入数据有误\n");break; } } 5、 #include voidmain() { floatx,y; printf("请输入一个x值x="); scanf("%f",&x); if(x<1) y=x; if(x==10) y=3*x-11; else y=2*x-1; printf("y的值为: y=%.2f\n",y); } 6、 #include voidmain() { inti,j,k,n=0; printf("300-400间所有素数为: \n"); for(i=301;i<=400;i++,i++) { k=i/2; for(j=2;j<=k;j++) if(i%j==0)break; if(j==k+1) { printf("%d",i); n++; if(n%5==0) printf("\n"); } } printf("\n"); } 7、 #include voidmain() { inti,j=0; printf("1-100间只能被7和11一个数整除的数为: \n\n"); for(i=7;i<=100;i++) { if(i%7==0&&i%11! =0||i%7! =0&&i%11==0) { j++; printf("%6d",i); if(j%5==0) printf("\n"); } } printf("\n"); } 8、 #include voidmain() { intf1=1,f2=1,i; printf("Fibonacci数列前二十个数为: \n"); for(i=1;i<=10;i++) { printf("%6d%6d",f1,f2); f1=f1+f2; f2=f2+f1; if(i%2==0) printf("\n"); } } 9、 #include voidmain() { doublesum=0,t=1; intn; for(n=1;n<=10;n++) { t=t*n; sum=sum+t+3; } printf("1! +3+2! +3+3! +3+…+10! +3=%.0f\n",sum); } 10、 #include voidmain() { inti; doublea=2,b=1,s=0,t; for(i=1;i<=20;i++) { s=s+b/a; t=a; a=a+b; b=t; } printf("1/2+2/3+3/5+…=%16.10f\n",s); } 11、 #include voidmain() { inti,a,b,c; printf("小于500的所有水仙花数为: \n\n"); for(i=100;i<500;i++) { a=i/100; b=i/10-a*10; c=i%10; if(i==a*a*a+b*b*b+c*c*c) printf("%d",i); } printf("\n\n"); } 12、 #include voidmain() { intm,n[6],i=0,j; printf("请输入一个小于七位的整数: "); scanf("%d",&m); printf("\n"); while(m! =0) { n[i]=m%10; m=m/10; i++; } printf("它是一个%d位数。 \n\n",i); printf("正序输出为: \n\n"); for(j=i-1;j>=0;j--) { printf("%3d",n[j]); } printf("\n"); printf("逆序输出为: \n\n"); for(j=0;j { printf("%3d",n[j]); } printf("\n\n"); } 13、 #include voidmain() { inta=5,n=5,i=1,sn=0,tn=0; for(i=1;i<=5;i++) { tn=tn+a; sn=sn+tn; a=a*10; } printf("5+55+..+55555=%d\n",sn); } 14、 #include voidmain() { inti,j,k=0,m; printf("倒三角的9*9口诀表为: \n\n"); for(i=9;i>=1;i--) { for(j=i;j>=1;j--) { k=i*j; printf("%d",k); } printf("\n"); } } 15、 #include #include voidmain() {doublea,b,c,x,x1,x2,disc,realpart,imagepart; printf("请输入a,b,c三个数,两数间以空格分开: \n"); printf("输入的a,b,c分别为: "); scanf("%lf%lf%lf",&a,&b,&c); printf("方程"); if(fabs(a)<1e-6) { x=-c/b; printf("是一元一次方程,它的根为: \nx=%.4f\n",x); } else { disc=b*b-4*a*c; if(fabs(disc)<1e-6) printf("有两个相等的实根: \nx1=x2=%8.4f\n",-b/(2*a)); else if(disc>1e-6) { x1=(-b+sqrt(disc))/(2*a); x2=(-b-sqrt(disc))/(2*a); printf("有两个不相等的实根: \nx1=%8.4f,\nx2=%8.4f\n",x1,x2); } else { realpart=-b/(2*a); imagepart=sqrt(-disc)/(2*a); printf("有两个复根: \n"); printf("x1=%8.4f+%8.4fi\n",realpart,imagepart); printf("x2=%8.4f-%8.4fi\n",realpart,imagepart); } } } 16、 #include voidmain() { charc; intletters=0,digit=0,other=0; printf("请输入一行字符: \n"); while((c=getchar())! ='\n') { if(c>='a'&&c<='z'||c>='A'&&c<='Z') letters++; elseif(c>='0'&&c<='9') digit++; else other++; } printf("字母数: %d\n数字数: %d\n其他字符数: %d\n", letters,digit,other); } 17、 #include intmain() { inta=1,b=2,c=3,d=4,m=0; inti,j,k,n; printf("1、2、3、4能组成的无重复数字的三位数有: \n"); for(i=1;i<=4;i++) { for(j=1;j<=4;j++) for(k=1;k<=4;k++) { if(i==j||i==k||k==j)continue; n=i*100+j*10+k; m++; printf("%6d",n); if(m%5==0) putchar('\n'); } } printf("\n"); } 18、 #include voidmain() { inta[10]; inti,j,t; printf("请输入10个数,以空格隔开: \n\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); printf("由小到大排列为: \n\n"); for(i=0;i<10;i++) for(j=i;j<9;j++) if(a[i]>a[j+1]) { t=a[i];a[i]=a[j+1];a[j+1]=t; } for(i=0;i<10;i++) printf("%5d",a[i]); printf("\n"); } 19、 #include voidmain() { inti,j,k,a[2][3],b[3][2]; printf("请输入数组a[2][3],六个整数以空格分开: \n"); for(i=0;i<2;i++) { for(j=0;j<3;j++) { scanf("%d",&a[i][j]); } printf("\n"); } printf("a数组为: \n"); for(i=0;i<2;i++) { for(j=0;j<3;j++) { printf("%5d",a[i][j]); b[j][i]=a[i][j]; } printf("\n"); } printf("b数组为: \n"); for(i=0;i<3;i++) { for(j=0;j<2;j++) { printf("%5d",b[i][j]); } printf("\n"); } } 20、 #include voidmain() { inta[3][4],i,j,max; printf("请输入数组a[3][4],十二个数,以空格分开: \n"); for(i=0;i<3;i++) for(j=0;j<4;j++) scanf("%d",&a[i][j]); max=a[0][0]; for(i=0;i<3;i++) for(j=0;j<4;j++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 试题