2011-2012学年C语言试题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

12011-2012学年C语言试题1.有一个函数1(00(0)1(0100)xxyxx或100),写一段程序,输入x的值,输出y的值。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.有一个函数:(1311(10)21(11010)xxyxxxxx)或,写一段程序,输入x的值,输出y的值。6.输出300~400之间的全部素数,并按每行5个数输出。7.求1~100之间能被7或11整除,但不能同时被7或11整除的所有整除,并按每行5个数输出。8.求Fibonacci数列的前20个数,并将其分5行输出。9.求101(!3)nn。10.有一分数序列1235813,,,,,,23581321,求其前20项的和。11.输出小于500的所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为333153153。12.给一个不多于6位的正整数,要求:①求出它是几位数;②分别输出每一位数字;③按逆序输出各位数字,例如原数为158,应输出851。13.求5+55+555+5555+55555的值(要求用循环实现)。14.输出倒三角形式的9*9口诀表,要求用循环实现。15.求一元二次方程ax2+bx+c=0的解。16.输入一行字符,分别统计出其中的英文字符、数字和其他字符的个数。17.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?218.输入10个整型整数,用起泡法对这10个数排序,并该由小到大顺序在屏幕上输出。19.将一个二维数组a的行和列的元素互换(即行列互换),存到另一个二维数组b中。20.在一个3*4的二维数组a中,要求编程求出其中值最大的那个元素的值,并输出其所在的行号和列号。21.输入一行字符,统计其中有多少个单词,单词之间用空格分隔开22.有3个字符串,要求找出其中最大者。23.输入两个整数,要求用一个函数求出其中的大者,并在主函数中输出此值。24.输入两个整数,要求用一个函数求出其最大公约数和最小公倍数,并在主函数中调用该子函数。25.输入4个整数,找出其中最大的数。用函数的嵌套调用来处理。26.用递归方法求5!。27.按以下递归公式求函数的值。)1(2)1()1(10fun(n)nnfunn例如,当给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.编写一程序,实现从键盘接收一个字符串,然后删除其中的空格后并输出。如:输入“I3amastudent!”,输出“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.输出菱形图案(要求用循环实现)454.有一个已排好序的数组,要求输入一个数后,按原来排序的规律将她插入数组中。55.写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息。56.有一篇文章,共有4行文章,每行有60个字符。要求分别统计出其中英文大写字符、小写字母、数字、空格以及其他字符的个数。57.有一行电文,已按下面规律译成密码:A→Za→zB→Yb→yC→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”中去。5参考答案1、#includestdio.hvoidmain(){floatx;inty;printf(请输入一个x的值:\nx=);scanf(%f,&x);if(x0||x100)y=-1;elseif(x==0)y=0;elsey=1;printf(y=%d,y);printf(\n);}2、#includestdio.hvoidmain(){floata,b,c,t;printf(请输入三个数,数之间以空格连接:\n输入的数分别为:);scanf(%f%f%f,&a,&b,&c);if(ab){t=a;a=b;b=t;}if(ac){t=a;a=c;c=t;}if(bc){t=b;b=c;c=t;}printf(a、b、c由大到小排列为:\n%.2f\n%.2f\n%.2f\n,a,b,c);}3、#includestdio.h6voidmain(){floata,b,c,d,max=0,min=0;printf(请输入四个数字,中间以空格分开:\n);printf(四个数字分别为:);scanf(%f%f%f%f,&a,&b,&c,&d);printf(\n);max=(ab)?a:b;max=(maxc)?max:c;max=(maxd)?max:d;min=(ab)?a:b;min=(minc)?min:c;min=(mind)?min:d;printf(四个数中最大的数为:%.2f\n,max);printf(四个数中最小的数为:%.2f\n,min);}4、#includestdio.hvoidmain(){floatfen;intc;printf(请输入学生的成绩:);scanf(%f,&fen);if(fen0||fen100)c=4;elseif(fen=0&&fen60)c=5;elsec=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、#includestdio.hvoidmain(){7floatx,y;printf(请输入一个x值x=);scanf(%f,&x);if(x1)y=x;if(x==10)y=3*x-11;elsey=2*x-1;printf(y的值为:y=%.2f\n,y);}6、#includestdio.hvoidmain(){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、#includestdio.hvoidmain(){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++;8printf(%6d,i);if(j%5==0)printf(\n);}}printf(\n);}8、#includestdio.hvoidmain(){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、#includestdio.hvoidmain(){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、#includestdio.hvoidmain(){inti;doublea=2,b=1,s=0,t;9for(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、#includestdio.hvoidmain(){inti,a,b,c;printf(小于5

1 / 41
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功