c语言编程题汇总.docx
- 文档编号:3926045
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:69
- 大小:1.15MB
c语言编程题汇总.docx
《c语言编程题汇总.docx》由会员分享,可在线阅读,更多相关《c语言编程题汇总.docx(69页珍藏版)》请在冰豆网上搜索。
c语言编程题汇总
实验一:
简单的C程序设计(2学时)
一、实验方式:
一人一机
二、实验目的:
1、了解C语言程序的编译环境和编写过程。
2、掌握C语言程序在VisualC++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,实现两个数的交换,并求出最大值、最小值和两个数的平均值。
(实验教材P21)
5、输入并运行以下程序,分析运行结果。
(实验教材P27)
#include
voidmain()
{
inti,j;
i=8;j=10;
printf(“%d,%d\n”,++i,++j);
i=8;j=10;
printf(“%d,%d\n”,i++,j++);
i=8;j=10;
printf(“%d,%d\n”,++i,i);
i=8;j=10;
printf(“%d,%d\n”,i++,i);
}
四、实验程序代码:
1
#include"stdio.h"
voidmain()
{
intx,y,sum;
x=123;
y=456;
sum=x+y;
printf("sumis=%d\n",sum);
}
2
#include"stdio.h"
main()
{
doubleh,c;
//printf("Inputh\n");
scanf("%lf",&h);
c=5.0/9*(h-32);
printf("c=%lf",c);
}
3
#include"stdio.h"
#definep3.14
voidmain()
{
floatr1,r2;
doubles1,s2,s;
printf("pleaseenterr1,r2:
");
scanf("%f%f",&r1,&r2);
s2=r2*r2*p;
s1=r1*r1*p;
s=s2-s1;
printf(“圆环面积为%lf\n",s);
}
4
#include"stdio.h"
voidmain()
{
intx,y,t,max,sum=0;
floataverage;
printf("请输入两个整数xy:
");
scanf("%d%d",&x,&y);
printf("您输入的两个整数xy为:
");
printf("x=%d,y=%d\n",x,y);
max=x;
if(max sum=x+y; average=sum/2.0; {t=x;x=y;y=t;} printf("交换后的两个整数xy为: "); printf("x=%d,y=%d\n",x,y); printf("最大值max=%d\n",max); printf("平均值average=%f\n",average); } 五、实验运行结果(截图): 1、 2. 3. 4. 实验二: 顺序结构程序设计(2学时) 一、实验方式: 一人一机 二、实验目的: 1、掌握标识符、常量、变量的定义及使用。 2、掌握C语言的常用运算符及表达式。 3、掌握单分支if语句的使用方法。 4、掌握双分支if-else语句的使用方法。 三、实验内容: 1、从键盘输入一个3位整数,请输出该数的逆序数。 (实验教材P27) 2、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出。 (实验教材P27) 3、判断箱子是正方体还是长方体。 (实验教材P33) 4、有一函数: x(x<1) y=2x-1(1≤x<10) 3x-11(x≥10)编写程序,输入x值,输出y值。 5、从键盘上输入3个数a、b、c,求一元二次方程的解x1、x2,并分别把这两个解的绝对值作为圆柱的半径与高,计算圆柱的体积。 (实验教材P20) 四、实验程序代码: 1. #include voidmain() { inta,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: %d\n",x,y); } 2. #include voidmain() { chara,b,c; floatx; printf("pleaseener: \n"); scanf("%c%c%c",&a,&b,&c); x=(a+b+c)/3.0; printf("(a+b+c)/3=%.2f\n",x); } 3. #include voidmain() { intl,w,h; printf("pleaseenterthreenumbers: \n"); scanf("%d,%d,%d",&l,&w,&h); if(l==w&&w==h)/*if分支*/ printf("该箱子是正方体。 \n"); else printf("该箱子是长方体。 \n"); } 4. #include voidmain() { floatx,y; printf("pleaseenteranumber: \n"); scanf("%f",&x); if(x<1) y=x; else {if(x>=1&&x<10) y=2*x-1; elseif(x>10) y=3*x-11; } printf("y的值为%f\n",y); } 5. #include #include #definep3.14 voidmain() { floata,b,c,x1,x2,r,h; doubles,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=%f\n",x1,x2); } h=x2; r=x1; s=r*r*p; v=s*h; printf("v=%lf\n",v); } 五、实验运行结果(截图): 1. 2 . 3. 4. 5. 实验三: 选择结构程序设计(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’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。 (要求分别使用switch和if语句实现)(实验教材P123) 4、编写程序,从键盘上输入一个字符,如果该字符是小写字母,则转换成大写字母输出;如果是大写字母,则转换成小写字母输出;如果是其他字符,原样输出。 (实验教材P124) 四、实验程序代码: 1. #include voidmain() { floata,b,c,d,t; scanf("%f,%f,%f,%f",&a,&b,&c,&d); if(a>b) { t=a; a=b; b=t; } if(a>c) { t=a; a=c; c=t; } if(a>d) { t=a; a=d; d=t; } if(b>c) { t=b; b=c; c=t; } if(b>d) { t=b; b=d; d=t; } if(c>d) { t=c; c=d; d=t; } printf(“%f,%f,%f,%f”,a,b,c,d); } 2. /*example5_6.c*/ #include voidmain() { intyear,month,days; printf("pleaseenteryearandmonth: "); scanf("%d%d",&year,&month); if(month,0&&month>13)printf("YouinputErrorData\n"); else switch(month) { case2: if(year%4==0&&year%100! =0||year%400==0) days=29; else days=28; break; case1: case3: case5: case7: case8: case10: case12: days=31;break; case4: case6: case9: case11: days=30;break; } printf("%d年%d月有%d天\n",year,month,days); } 3. #include voidmain() { floatscore; charch; scanf("%f",&score); switch((int)(score/10)) { case10: case9: ch='A';break; case8: ch='B';break; case7: ch='C';break; case6: ch='D';break; default: ch='E';break; } printf("%f分等级是%c\n",score,ch); } #include voidmain() { floatscore; charch; scanf("%f",&score); if(score>100||score<0)printf("youinputerrordata"); elseif(score<=100&&score>=90)ch='A'; elseif(score>=80)ch='B'; elseif(score>=70)ch='C'; elseif(score>=60)ch='D'; elsech='E'; printf("%f分等级是%c\n",score,ch); } 4. #include voidmain() { charch; scanf("%c",&ch); if(ch>='a'&&ch<='z')ch=ch-32; elseif(ch>='A'&&ch<='Z')ch=ch+32; elsech=ch; printf("转换后卫: %c\n",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、编写程序输出所有水仙花数,并统计水仙花数的个数,其中水仙花数是一个3位数的自然数,该数各位数的立方和等于该数本身。 (实验教材P42) 4、编写程序,计算数列 ,…,计算数列的前20项的和。 (实验教材P46) 5、编写程序,从键盘上输入正整数m,判断m是否为质数。 (教材P98【例6-12】) 四、实验程序代码: 1. #include voidmain() { inti=1,sum=0; while(i<100) { sum=sum+i; i++; } printf("sum=%d\n",sum); } 2. #include voidmain() { intscore,max,min,i=0; floatsum=0.0,average; printf("请输入学生的成绩: \n"); scanf("%d",&score); max=min=score; while(score! =-1) { if(score>=0&&score<=100) { sum=sum+score; i++; if(max if(min>score)min=score; } scanf("%d",&score); } average=sum*1.0/i; printf("max=%d,min=%d\n",max,min); printf("有效成绩共%d个学生,平均分为: %f\n",i,average); } 3. #include voidmain() { inta,b,c; intcount=0; intm=100; printf("100~999的水仙花数为: "); do { a=m/100; b=(m-100*a)/10; c=m%10; if(a*a*a+b*b*b+c*c*c==m) { printf("%5d",m); count++; } m++; } while(m<1000); printf("\n100~999的水仙花数共%d个\n",count); } 4. #include #defineN20 voidmain() { inti; floatm=1.0,n=2.0,t,p; doublesum=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项的结果为: %lf\n",sum); } 5. #include #include voidmain() { intm,i=2; intflag=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); elseprintf("对不起,你输入的数%d不是质数! \n",m); } 5、实验运行结果(截图): 1. 2. 3. 4. 5. 实验五: 循环结构程序设计 (二)(2学时) 一、实验方式: 一人一机 二、实验目的: 1、掌握循环嵌套的使用。 2、掌握如何在循环语句中使用循环控制语句break和continue,改变程序流程。 3、掌握在程序设计中用循环的方法实现各种算法。 三、实验内容: 补充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担,请问大马、中马和小马可以有多少种组合。 (实验教材P47) 四、实验程序代码: 1. #include voidmain() { inti,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 voidmain() { inti,j,n,flag=1; longfact,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=sum+fact*flag; flag=-flag; } printf("%ld",sum); printf("\n"); } 3. #include voidmain() { inti,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 voidmain() { intm,n,k; intsum=0; for(m=0;m<=100;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"); } 五、实验运行结果(截图): 1. 2. 3. 4. 实验六: 数组程序设计 (一)(2学时) 一、实验方式: 一人一机 二、实验目的: 1、掌握一维数组和二维数组的定义和数组元素的引用方法。 2、了解一维数组和二维数组初始化方法。 3、学习一维数组和二维数组的基本算法。 三、实验内容: 补充1: 编写程序,计算出Fibonacci数列前20项的值,并将结果按4个数一行输出到屏幕上。 (教材P113【例7-5】) 1、下列程序的功能是: 输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。 程序中有几处错误,试找出它们后加以修改,并上机验证修改结果。 #include voidmain() {inti,n,a[10],avg; for(i=0;i scanf(“%d”,a[i]); for(i=0;i {if(i%3==0)printf(“\n”); printf(“%d”,a[i]); } for(i=0;i avg+=a[i]; printf(“\navg=%f\n”,avg); } 2、从键盘上读入10个整数存入数组a,找出数组a中的数的最大值,并计算数组a中所有数组元素的平均值。 (教材P112【例7-4】) 3、编写程序,将数组中的值逆序存放。 (实验教材P60) 4、从键盘上输入10个整数,然后按照从小到大的顺序把这10个数排序并输出到屏幕上。 (教材P114【例7-6】冒泡法排序、P115【例7-7】选择法排序) 四、实验程序代码: 1. #include voidmain() { inti; intFib[20]; Fib[0]=1; Fib[1]=1; for(i=2;i<20;i++) Fib[i]=Fib[i-1]+Fib[i-2]; printf("Fibonacci数列前20项如下: \n"); for(i=0;i<20;i++) { if(i%4==0)printf("\n") printf("Fib[%2d]=%5d",i,Fib[i]); } printf("\n"); } 2. #include voidmain() { inti,a[10],max; floatsum=0,average; printf("Input10integerdata: \n"); for(i=0;i<10;i++) scanf("%d",&a[i]); max=a[0]; sum=0; for(i=0;i<10;i++) {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 编程 汇总
![提示](https://static.bdocx.com/images/bang_tan.gif)