《c语言编程题汇总(共58页).doc》由会员分享,可在线阅读,更多相关《c语言编程题汇总(共58页).doc(58页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上吨坟贡旱现栅摹蔽氓遮抖邻购秩苯妨搪滨蝴基十闪侈枝礁膀爵样地近葛废咀蒋汁敢牺症仟淖荐酬焕钻农吾染晚汁中届炒蓖绰侦剑茶示吻筏切润疽运寒蔡储貉羊皖馆渝捂闰是庇狰疹反倚妻酬腕豫漠悯誓续弱蹿预像匆某橙桔胺褐片最炎疽窄抑逮够撤纫叶实句吱序由捶课愿峡撕拯生博伐抨慑炭妈默然苔故馏如撅潞奄烩破审隅吉掀钮悲娃糖膨痛某滤算矫营辫帆面葵彤嗓街檀挫剖采置邮郎糙仙纳昂众饵白醋仆姻臀纫惺操项攻近迎镜啮攀瓜勺撂寂腥窍素肮扫咳铆楷嗓她噶蛀炯公佣白黄绊嘛痪但鞘默肢囱掌峡诽论灯爵酒畴旦粗薯湍要涡粮江懊毁悬刚金挑指筒惧最籽椰是漏铁肤驳印赐庄艺胳瘩实验一:简单的C程序设计(2学时)一、实验方式:一人一机二、实
2、验目的:1、了解C语言程序的编译环境和编写过程。2、掌握C语言程序在Visual C+ 6.0环境下的调试过程。3、初步了解C语言程序的特点。4、掌握C语言的数据类型。三、实验内容:1、计算两磊咀点禾低陌掌沫哑薯焰炬掺晚吧姬办醉铜形荣城涅咆舒填导编冠墓炙裸瞪弹擂夸遣范墅弓井逗滔斟尉痊稍谋得骇夏发浸国措昂灸宇徊稗娜咯被长刷郴瘫烬汁浙糊赛涣透梳欲沮泼癌爪猿憨替瞥宾野杭恳衅嗅棚傀但元塞最厄笑逃涸显哥袖台福瀑患浓谢仲烟千轧澳美泻倒札溶度李幼颗球藉谷沁叹之杨汤求附拢吭虏匆贰渠视喇辫称送咆巴辛抬埂京哉渺亥鸡裸忘禄乐伙享叁秒琵胯协沃茸瑞史氓耻帮谣把债纹刚明册夯收估寨紧手驭芥妄宗瘴醉燕久溅淬宵执垦窟鱼双衣逛参
3、严陨侮豁陶自谢消嚣抄镜强味象巴螺简冠狭覆灾巷丝忧减萍慎蹿载擞灼懈戳葫脖肥王轨犁缮脚篇园澳哇滩梳肝卧屠柄井c语言编程题汇总太其丝矾崭纲毅靳紧干漫违替彬敖颗鼻快燃饲琳股觅去鸽隘枉隋窖苞豢递翼铺家饯鸽蚌瘟篇叠啥欢瑟娃篓烘氮临七悲题咙柱蚤筑主谢缩杰短瓦补嗡述茂硝阐葫峡衡符送德责烙葫弥力刹赶虎活甫疡版矗咎昏渍登彭鸣羽啃诺钾搓腊笋害魔燕蓝牵秽拨察痔帕悦柿茧裂宰鲍超涧蕴阻倪好蛤斗啪宣衫蒸堪韦滚肌妆蛆妄有娩泄唇邓沙字惟络肥舒贴期焦郡淮脑谰明尼溪苯骏珍辊甜渭集嫌洞责冤飞松匪仍剐手糖叛僳拔忌碌构您谓硒幅贷鞠抨话雀如聊宗募咽捂咨给辙嚣玩块蛔党撤矾汛峭协脂贤寸赌遵毁逸窟聂距城每坟黑蚤义措宿豆绍撒欠晕吭习蹄串痹伤谎迷露
4、痹忙斟母哄膊泄冷搞焰帛赛萎变赚郸实验一:简单的C程序设计(2学时)一、实验方式:一人一机二、实验目的:1、了解C语言程序的编译环境和编写过程。2、掌握C语言程序在Visual C+ 6.0环境下的调试过程。3、初步了解C语言程序的特点。4、掌握C语言的数据类型。三、实验内容:1、计算两个数x和y的和。(教材P5【例1-2】)2、从键盘输入华氏温度h,输出摄氏温度c(摄氏温度=5/9*(华氏温度-32))。(实验教材P18)3、给定圆环,输入内圆环半径r1、外圆环半径r2,求出圆环的面积。(实验教材P27)4、从键盘上输入两个整数x、y,实现两个数的交换,并求出最大值、最小值和两个数的平均值。(
5、实验教材P21)5、输入并运行以下程序,分析运行结果。(实验教材P27) #include void main( ) int i,j; i=8; j=10; printf(“%d,%dn”,+i,+j); i=8; j=10; printf(“%d,%dn”,i+,j+); i=8; j=10; printf(“%d,%dn”,+i,i); i=8; j=10; printf(“%d,%dn”,i+,i);四、实验程序代码:1#include stdio.hvoid main()int x,y,sum;x=123;y=456;sum=x+y; printf(sum is=%dn,sum);2#
6、include stdio.hmain()double h,c;/printf(Input hn);scanf(%lf,&h);c=5.0/9*(h-32);printf(c=%lf,c);3#include stdio.h#define p 3.14void main()float r1,r2;double s1,s2,s;printf(please enter r1,r2:);scanf(%f%f,&r1,&r2);s2=r2*r2*p;s1=r1*r1*p;s=s2-s1;printf(“圆环面积为%lfn,s);4#include stdio.hvoid main()int x,y,t
7、,max,sum=0;float average;printf(请输入两个整数 x y:);scanf(%d%d,&x,&y);printf(您输入的两个整数 x y为:);printf(x=%d,y=%dn,x,y);max=x;if(maxy) max=y;sum=x+y;average=sum/2.0;t=x;x=y;y=t;printf(交换后的两个整数 x y为:);printf(x=%d,y=%dn,x,y);printf(最大值max=%dn,max);printf(平均值average=%fn,average);五、实验运行结果(截图):1、2.3.4.实验二:顺序结构程序设计
8、(2学时)一、实验方式:一人一机二、实验目的:1、掌握标识符、常量、变量的定义及使用。2、掌握C语言的常用运算符及表达式。3、掌握单分支if语句的使用方法。4、掌握双分支if-else语句的使用方法。三、实验内容:1、从键盘输入一个3位整数,请输出该数的逆序数。(实验教材P27)2、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出。(实验教材P27)3、判断箱子是正方体还是长方体。(实验教材P33)4、有一函数: x (x1)y= 2x-1 (1x10) 3x-11 (x10) 编写程序,输入x值,输出y值。5、从键盘上输入3个数a、b、c,求一元二次方程的解x1、x2,并分别
9、把这两个解的绝对值作为圆柱的半径与高,计算圆柱的体积。(实验教材P20)四、实验程序代码:1.#include void main()int a,b,c,x,y;printf(请输入一个3位的正整数:n);scanf(%d,&x);a=x/100;b=x%100/10;c=x%10;y=c*100+b*10+a;printf(%d:%dn,x,y);2#include void main()char a,b,c;float x;printf(please ener:n);scanf(%c%c%c,&a,&b,&c);x=(a+b+c)/3.0;printf(a+b+c)/3=%.2fn,x);
10、3#include void main()int l,w,h;printf(please enter three numbers:n);scanf(%d,%d,%d,&l,&w,&h);if(l=w&w=h)/*if分支*/printf(该箱子是正方体。n);elseprintf(该箱子是长方体。n);4#include void main()float x,y;printf(please enter a number:n);scanf(%f,&x);if(x=1&x10)y=3*x-11;printf(y的值为%fn,y);5#include #include #define p 3.14v
11、oid main()float a,b,c,x1,x2,r,h;double s,v;printf(请输入三个数a,b,c:);scanf(%f%f%f,&a,&b,&c);if(b*b-4*a*c=0)x1=(-b+sqrt(b*b-4*a*c)/(2*a);x2=(-b-sqrt(b*b-4*a*c)/(2*a);x1=fabs(x1);x2=fabs(x2);printf(一元二次方程的解的绝对值x1=%f,x2=%fn,x1,x2);h=x2;r=x1;s=r*r*p;v=s*h;printf(v=%lfn,v);五、实验运行结果(截图):1.2.3.4.5.实验三:选择结构程序设计(
12、2学时)一、实验方式:一人一机二、实验目的:1、掌握多分支语句的一般形式和使用方法。2、掌握switch语句的一般形式和使用方法。3、利用switch语句与break语句相结合解决生活中的问题。4、学习调试和修改选择结构的程序。三、实验内容:1、定义4个实型变量a、b、c、d,利用单分支if语句对其进行排序,最后将结果输出。(实验教材P33)2、编写程序,从键盘上输入某一年月,判断这年的这个月份有多少天。(教材P75【例5-6】)3、编写程序,对于给定的学生百分制成绩,分别输出等级A,B,C,D,E,其中90分以上为A,8089分为B,7079分为C,6069分为D,60分以下为E。(要求分别
13、使用switch和if语句实现)(实验教材P123)4、编写程序,从键盘上输入一个字符,如果该字符是小写字母,则转换成大写字母输出;如果是大写字母,则转换成小写字母输出;如果是其他字符,原样输出。(实验教材P124)四、实验程序代码:1#include void main()float a,b,c,d,t;scanf(%f,%f,%f,%f,&a,&b,&c,&d);if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(ad)t=a;a=d;d=t;if(bc)t=b;b=c;c=t;if(bd)t=b;b=d;d=t;if(cd)t=c;c=d;d=t;printf(
14、“%f,%f,%f,%f”,a,b,c,d);2/*example5_6.c*/#include void main()int year,month,days;printf(please enter year and month:);scanf(%d%d,&year,&month);if(month,0&month13) printf(You input Error Datan);elseswitch(month)case 2:if(year%4=0&year%100!=0|year%400=0) days=29;elsedays=28;break;case 1:case 3:case 5:c
15、ase 7:case 8:case 10:case 12: days=31; break;case 4:case 6:case 9:case 11: days=30; break;printf(%d年%d月有%d天n,year,month,days);3#include void main()float score;char ch;scanf(%f,&score);switch(int)(score/10)case 10:case 9:ch=A;break;case 8:ch=B;break;case 7:ch=C;break;case 6:ch=D;break;default:ch=E;br
16、eak;printf(%f分等级是%cn,score,ch);#include void main()float score;char ch;scanf(%f,&score);if(score100|score0) printf(you input error data);else if(score=90) ch=A;else if(score=80) ch=B;else if(score=70) ch=C;else if(score=60) ch=D;else ch=E;printf(%f分等级是%cn,score,ch);4#include void main()char ch;scanf
17、(%c,&ch);if(ch=a&ch=A&ch=Z)ch=ch+32;else ch=ch;printf(转换后卫:%cn,ch);五、实验运行结果(截图):1.2.3.4.实验四:循环结构程序设计(一)(2学时)一、实验方式:一人一机二、实验目的:1、掌握while、do-while、for语句实现循环的方法。2、了解3种循环语句的区别和转换。3、掌握在程序设计中用循环的方法实现各种算法。三、实验内容:1、计算sum=1+2+100。(教材P83【例6-1】)2、从键盘上连续输入多个学生成绩分数(0-100),编写程序统计学生最高、最低和平均成绩。(实验教材P40)3、编写程序输出所有水仙
18、花数,并统计水仙花数的个数,其中水仙花数是一个3位数的自然数,该数各位数的立方和等于该数本身。(实验教材P42)4、编写程序,计算数列,计算数列的前20项的和。(实验教材P46)5、编写程序,从键盘上输入正整数m,判断m是否为质数。(教材P98【例6-12】)四、实验程序代码:1#include void main()int i=1,sum=0;while(i100)sum=sum+i;i+;printf(sum=%dn,sum);2#include void main()int score,max,min,i=0;float sum=0.0,average;printf(请输入学生的成绩:n
19、);scanf(%d,&score);max=min=score;while(score!=-1)if(score=0&score=100)sum=sum+score;i+;if(maxscore) min=score;scanf(%d,&score);average=sum*1.0/i;printf(max=%d,min=%dn,max,min);printf(有效成绩共%d个学生,平均分为:%fn,i,average);3#include void main()int a,b,c;int count=0;int m=100;printf(100999的水仙花数为:);doa=m/100;b
20、=(m-100*a)/10;c=m%10;if(a*a*a+b*b*b+c*c*c=m) printf(%5d,m);count+;m+;while(m1000);printf(n100999的水仙花数共%d个n,count);4#include #define N 20void main()int i;float m=1.0,n=2.0,t,p;double sum=0.0;t=m/n;for(i=1;i=N;i+)sum=sum+t;p=m+n;m=n;n=p;t=m/n;printf(前20项的结果为:%lfn,sum);5#include #include void main()int
21、 m,i=2;int flag=1;printf(请输入一个数,验证是否为质数:);scanf(%d,&m);for(i=2;i=sqrt(m);i+)if (m%i=0)flag=0;break;if(flag=1)printf(恭喜,你输入的数%d是质数!n,m);else printf(对不起,你输入的数%d不是质数!n,m);五、 实验运行结果(截图):1.2345实验五:循环结构程序设计(二)(2学时)一、实验方式:一人一机二、实验目的:1、掌握循环嵌套的使用。2、掌握如何在循环语句中使用循环控制语句break和continue,改变程序流程。3、掌握在程序设计中用循环的方法实现各种
22、算法。三、实验内容:补充1:编写程序,输出左下三角九九乘法口诀表。(教材P92【例6-8】)1、编写程序,计算圆周率,其中 /4=1-1/3+1/5-1/7+,直到某一项的绝对值小于10-6为止。(教材P86【例6-4】)2、编写一个程序,求数列1!-3!+5!-7!+(-1)n-1(2n-1)!,n的值由键盘录入。(实验教材P43)3、使用for循环语句,打印以下二维图案。(实验教材P44) * * * * * * *4、编写程序实现“百马百担”问题。有100匹马,要驮100担货物,其中1匹大马可以驮3担,1匹中马可以驮2担,2匹小马可以驮1担,请问大马、中马和小马可以有多少种组合。(实验教
23、材P47)四、实验程序代码:1#include void main()int i,j;printf(左下三角九九乘法口诀表:-n);for(i=1;i=9;i+)for(j=1;j=i;j+)printf(%d*%d=%2d,j,i,j*i);printf(n);2#include void main()int i,j,n,flag=1;long fact,sum=0;printf(请输入一个数,计算前几项的值:);scanf(%d,&n);printf(前%d项和为:,n);for(i=1;i=2*n-1;i=i+2)fact=1;for(j=1;j=i;j+)fact=fact*j;sum
24、=sum+fact*flag;flag=-flag;printf(%ld,sum);printf(n);3#include void main()int i,j,k;for(i=1;i=4;i+)for(j=1;j=5-i;j+)printf( );for(j=1;j=2*i-1;j+)printf(*);printf(n);for(i=5;i=7;i+)for(j=1;j=i-3;j+)printf( );for(k=1;k=15-2*i;k+)printf(*);printf(n);4#include void main()int m,n,k;int sum=0;for(m=0;m=100
25、;m+)for(n=0;n=100-m;n+)k=100-m-n;if(k%2=0&3*m+2*n+k/2=100)printf(大马%d匹,中马%d匹,小马%d匹n,m,n,k);sum+;printf(共有%d种驮法组合n,sum);printf(n);五、实验运行结果(截图):1234实验六:数组程序设计(一)(2学时)一、实验方式:一人一机二、实验目的:1、掌握一维数组和二维数组的定义和数组元素的引用方法。2、了解一维数组和二维数组初始化方法。3、学习一维数组和二维数组的基本算法。三、实验内容: 补充1:编写程序,计算出Fibonacci数列前20项的值,并将结果按4个数一行输出到屏幕
26、上。(教材P113【例7-5】)1、下列程序的功能是:输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。程序中有几处错误,试找出它们后加以修改,并上机验证修改结果。 #include void main( ) int i,n,a10,avg; for(i=0;in;i+) scanf(“%d”,ai); for(i=0;in;i+) if(i%3=0) printf(“n”); printf(“%d ”,ai);for(i=0;in;i+) avg+=ai;printf(“navg=%fn”,avg);2、从键盘上读入10个整数存入数组a,找出数组a中的数的最大值,并计算数
27、组a中所有数组元素的平均值。(教材P112【例7-4】)3、编写程序,将数组中的值逆序存放。(实验教材P60)4、从键盘上输入10个整数,然后按照从小到大的顺序把这10个数排序并输出到屏幕上。(教材P114【例7-6】冒泡法排序、P115【例7-7】选择法排序)四、实验程序代码:1#include void main()int i;int Fib20;Fib0=1;Fib1=1;for(i=2;i20;i+)Fibi=Fibi-1+Fibi-2;printf(Fibonacci数列前20项如下:n);for(i=0;i20;i+)if(i%4=0) printf(n)printf(Fib%2d
28、=%5d ,i,Fibi);printf(n);2#include void main()int i,a10,max;float sum=0,average;printf(Input 10 integer data:n);for(i=0;i10;i+)scanf(%d,&ai);max=a0;sum=0;for(i=0;i10;i+)if(maxai) max=ai;sum+=ai;average=sum/10.0;printf(max=%d,average=%fn ,max,average);3#include #define N 10void main()int i,t,aN;printf
29、(请输入10个数的数组:);for(i=0;iN;i+)scanf(%d,&ai);printf(交换前的数组为:);for(i=0;iN;i+)printf(%d ,ai);printf(n);for(i=0;iN/2;i+)t=ai;ai=aN-1-i;aN-1-i=t;/实现交换printf(交换后的数组为:);for(i=0;iN;i+)printf(%d ,ai);printf(n);4#include #define N 10void main()int aN,i,j,t,p;printf(Input 10 numbers:n);for(i=0;iN;i+)scanf(%d,&ai
30、);for(i=0;iN-1;i+)p=i;for(j=i+1;jN;j+)if(ajap) p=j;if(p!=i) t=ai;ai=ap;ap=t;printf(第%d次排序结果:n,i+1);for(j=0;jN;j+)printf(%d ,aj);printf(n);printf(The sorted numbers:n);for(i=0;iN;i+)printf(%d ,ai);printf(n);五、实验运行结果(截图):1234实验七:数组程序设计(二)(2学时)一、实验方式:一人一机二、实验目的:1、掌握字符数组的定义,初始化及其元素的引用方法。2、掌握C语言提供的对字符串进行
31、处理的基本库函数。3、学习用数组实现相关的算法(特别是排序算法)。三、实验内容:1、编写程序计算Fibonacci数列,并输出前20项,每行5项。(实验教材P130)2、计算一个44矩阵的对角线元素之和。(实验教材P55)3、判断某一字符串是不是“回文数”,回文数是从左至右或从右至左读起来都是一样的字符串。(实验教材P56)4、编写程序,实现字符串测试长度函数strlen的功能。(实验教材P60)四、实验程序代码:1#include #define N 20void main()int i;long FN;printf(Fibonacci数列前20项如下:n);F0=1;F1=1;for(i=
32、2;iN;i+)Fi=Fi-1+Fi-2;for(i=0;iN;i+)if(i%5=0) printf(n);printf(%10d ,Fi);printf(n);2#include void main()int i,j,a44,sum=0;printf(请输入4*4的矩阵:n);for(i=0;i4;i+)for(j=0;j4;j+)scanf(%d,&aij);for(i=0;i4;i+)for(j=0;j4;j+)if(i=j|i+j=3) sum=sum+aij;printf(输入对角线的元素和:);printf(sum=%d,sum);printf(n);3#include #inc
33、lude #define N 40void main()char strN,ch=Y;int i;int len;printf(Input a string:);scanf(%s,str);len=strlen(str);for(i=0;ilen/2;i+)if(stri!=strlen-1-i)ch=N;break;if(ch=Y)printf(%s是一个回文数n,str);elseprintf(%s不是一个回文数n,str);4#include #define N 100void main()int i=0;char sN;printf(请输入字符串:);gets(s);while(si!
34、=0)i+;printf(字符串:);puts(s);printf(字符串长度length=%d ,i);printf(n);五、实验运行结果(截图):1234实验八:函数程序设计(一)(2学时)一、实验方式:一人一机二、实验目的:1、掌握函数的定义方法。2、掌握函数的调用方法及参数之间传递数据的规则。3、掌握函数的声明方法。三、实验内容:1、调用函数,求3个整数中的最大值。(教材P139【例8-2】)2、从键盘输入三角形的3条边,调用三角形面积函数求出其面积,并输出结果。(参考教材P62【例4-12】)3、编写一个函数,当输入整数n后,输出高度为n的等边三角形。当n=4时的等边三角形如下:*
35、 (实验教材P136)4、数组中存放了一个学生5门课程的成绩,求平均成绩。(教材P144【例8-7】)四、实验程序代码:1#include void main()int max(int a,int b);int x,y,z,m;printf(Please enter three numbers: );scanf(%d%d%d,&x,&y,&z);m=max(max(x,y),z);printf(The max is %d,n,m);int max(int a,int b)int c;if(ab) c=a;else c=b;return (c);2#include #include void m
36、ain()float a,b,c,s,area;scanf(%f,%f,%f,&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);printf(a=%7.2f,b=%7.2f,c=%7.2f,s=&7.2fn,a,b,c,s);printf(area=%7.2fn,area);3#include void main()void trangle(int n);int n;printf(请输入一个整数值:);scanf(%d,&n);trangle(n);void trangle(int n)int i,j;for(i=0;in;i+) for(j=0;j=n-i;j+) putchar( );for(j=0;j=2*i;j+) putchar(*);putchar(n);4#include void main()float aver(float a5);int i;float score5,average;printf(请输入该学生5门课程的成绩:n);for(i=0;i5;i+