C语言上机程序.docx
- 文档编号:1163586
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:29
- 大小:20.67KB
C语言上机程序.docx
《C语言上机程序.docx》由会员分享,可在线阅读,更多相关《C语言上机程序.docx(29页珍藏版)》请在冰点文库上搜索。
C语言上机程序
第1次上机内容:
1.实验指导书P236实验12.
(1)
(2)(3)(4)
要求:
按题目要求。
纪录结果。
#include
voidmain()
{
printf("Thisisacprogram.\n");
}
2.教材P131.5
要求:
同上。
#include
voidmain()
{
printf("******************************\n");
printf("Verygood!
\n");
printf("******************************\n");
}
3.实验指导书P236(5)
要求:
按题目要求。
#include
voidmain()
{inta,b,sum;
a=123;b=456;
sum=a+b;
printf("sumis%d\n",sum);
}
4.实验指导书P236(7)即教材P131.6
要求:
按题目要求。
#include
voidmain()
{inta,b,c,max;
printf("pleaseinputa,b,c\n");
scanf("%d,%d,%d",&a,&b,&c);
max=a;
if(max
max=b;
if(max max=c; printf("Thelargestnumberis%d",max); } 5.实验指导书P239实验2 (2)即教材P663.6 要求: 记录结果。 并验证人工分析结果是否正确。 #include voidmain() {charc1='a',c2='b',c3='c',c4='\101',c5='\116'; printf("a%cb%c\tc%c\tabc\n",c1,c2,c3); printf("\t\b%c%c\n",c4,c5); } 6.实验指导书P240实验2(4)即教材P673.10 要求: 记录结果。 并验证人工分析结果是否正确。 #include voidmain() {inti,j,m=0,n=0; i=8; j=10; m+=i++;n-=--j; printf("i=%d,j=%d,m=%d,n=%d\n",i,j,m,n); } 第2次上机内容: 1.教材P894.6 要求: 验证如何输入数据。 记录结果。 #include voidmain() { inta,b; floatx,y; charc1,c2; scanf("a=%db=%d",&a,&b); scanf("%f%e",&x,&y); scanf("%c%c",&c1,&c2); printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2); } 2.教材P894.7 要求: 编程,并验证如何输入数据。 记录结果。 #include voidmain() {inta,b; floatx,y,z; charc1,c2; scanf("%5d%5d%c%c%f%f%*f,%f",&a,&b,&c1,&c2,&x,&y,&z); printf("a=%d,b=%d,c1=%c,c2=%c,x=%6.2f,y=%6.2f,z=%6.2f\n",a,b,c1,c2,x,y,z); } 3.实验指导书P242实验3 (2)即教材P894.8 要求: 编程,测试至少2组数据。 记录结果。 #include voidmain() {floath,r,l,s,sq,vq,vz; floatpi=3.1415926; printf("请输入圆半径r,圆柱高h: "); scanf("%f,%f",&r,&h); l=2*pi*r; s=r*r*pi; sq=4*pi*r*r; vq=4.0/3.0*pi*r*r*r; vz=pi*r*r*h; printf("圆周长为: l=%6.2f\n",l); printf("圆面积为: s=%6.2f\n",s); printf("圆球表面积为: sq=%6.2f\n",sq); printf("圆球体积为: vq=%6.2f\n",vq); printf("圆柱体积为: vz=%6.2f\n",vz); } 4.教材P894.9 要求: 编程,测试至少2组数据。 记录结果。 #include voidmain() {floatc,f; printf("请输入一个华氏温度: "); scanf("%f",&f); c=(5.0/9.0)*(f-32); printf("摄氏温度为: %5.2f\n",c); } 5.实验指导书P242实验3(3)即教材P904.10 要求: 编程,测试后回答问题。 #include voidmain() { charc1,c2; printf("请输入两个字符c1,c2: "); c1=getchar(); c2=getchar(); printf("用putchar语句输出结果为: "); putchar(c1); putchar(c2); printf("\n"); printf("用printf语句输出结果为: "); printf("%c%c\n",c1,c2); } 第3次上机内容: 1.实验指导书P243实验4 (1)即教材P1115.5 要求: 自行编程,不能使用教材带答案,测试至少3组数据。 记录结果。 #include voidmain() {floatx,y; printf("输入x: "); scanf("%f",&x); if(x<1) {y=x; printf("y=x=%f\n",y,x); } else if(x<10) {y=2*x-1; printf("y=%f",y); } else {y=3*x-11; printf("y=%f",y); } } 2.实验指导书P243实验4 (2)即教材P1115.6 要求: 自行编程,不能使用教材带答案,测试至少3组数据。 记录结果。 #include voidmain() {floatscore; chargrade; printf("请输入学生成绩: "); scanf("%f",&score); while(score>100||score<0) {printf("\n输入有误,请重输"); scanf("%f",&score); } switch((int)(score/10)) {case10: case9: grade='A';break; case8: grade='B';break; case7: grade='C';break; case6: grade='D';break; case5: case4: case3: case2: case1: case0: grade='E'; } printf("成绩是%5.1f,相应的等级是%c.\n",score,grade); } 3.实验指导书P243实验4(3)即教材P1115.7 要求: 自行编程,不能使用教材带答案,测试至少3组数据。 记录结果。 #include voidmain() {ints,i,a,b,c,d,e; scanf("%d",&s);//s=12345 if(s>=10000){printf("%dis5位数\n",s);i=5;} elseif(s>=1000){printf("%dis4位数\n",s);i=4;} elseif(s>=100){printf("%dis3位数\n",s);i=3;} elseif(s>=10){printf("%dis2位数\n",s);i=2;} else{printf("%dis1位数\n",s);i=1;} e=s%10;d=s/10%10;c=s/100%10;b=s/1000%10;a=s/10000%10; switch(i) { case5: printf("原数是%d%d%d%d%d\n逆序是%d%d%d%d%d\n",a,b,c,d,e,e,d,c,b,a);break; case4: printf("原数是%d%d%d%d\n逆序是%d%d%d%d\n",b,c,d,e,e,d,c,b);break; case3: printf("原数是%d%d%d\n逆序是%d%d%d\n",c,d,e,e,d,c);break; case2: printf("原数是%d%d\n逆序是%d%d\n",d,e,e,d);break; case1: printf("原数是%d\n逆序是%d\n",e,e);break; } } 4.从键盘输入三个数a,b,c,代表三条线段的长度;编程,判断是否能组成三角形,及组成三角形的类型。 要求: 编程,测试至少3组数据。 记录结果。 #include voidmain() { floata,b,c,x,y; printf("请输入第一条边长: "); scanf("%f",&a); printf("请输入第二条边长: "); scanf("%f",&b); printf("请输入第三条边长: "); scanf("%f",&c); if(a+b>c&&b+c>a&&a+c>b) { if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)printf("该三角形是直角三角形\n"); elseif(a*a+b*b>c*c||a*a+c*c>b*b||b*b+c*c>a*a)printf("该三角形是锐角三角形\n"); elseif(a*a+b*b } elseprintf("不是三角形\n"); } 第4次上机内容: 1.教材P1296.3 要求: 自行编程,不能使用教材带答案。 记录源程序、结果。 #include voidmain() {inta,n,i,t=0; longs=0; printf("请输入a和n(用英文逗号“,”隔开): "); scanf("%d,%d",&a,&n); for(i=1;i<=n;i++) {t=t+a; s=s+t; a=a*10; } printf("经计算得a+aa+…+a…aa=%ld\n",s); } 2.教材P1296.4 要求: 自行编程,不能使用教材带答案。 记录源程序、结果。 #include voidmain() {floats=1,sum=0; inti; for(i=1;i<=20;i++) {s=s*i; sum=sum+s; } printf("经计算得1! +2! +...+20! =%e\n",sum); } 3.教材P1296.8注意: 偶数项改为负 要求: 自行编程,不能使用教材带答案。 记录源程序、结果。 #include voidmain() {inti,t,k=1,n=20; floata=2,b=1,s=0; for(i=1;i<=n;i++) {s=s+a/b*k; t=a; a=a+b; b=t; k=-k; } printf("sum=%9.6f\n",s); } 4.输出99乘法表 要求: 编程,尝试正三角和倒三角不同情况。 记录源程序、记录结果。 (1) #include voidmain() {inti,j; printf("九九乘法表: \n"); for(i=1;i<=9;i++) {for(j=1;j<=i;j++) printf("%d*%d=%2d",i,j,i*j); printf("\n"); } } (2) #include voidmain() {inti,j; printf("九九乘法表: \n"); for(i=9;i>=1;i--) {for(j=1;j<=i;j++) printf("%d*%d=%2d",i,j,i*j); printf("\n"); } } 5.判断m是否是素数 要求: 编程,采用变量终值法和变量标示法两种方法。 记录源程序、记录结果。 (1). #include #include main() {intm,i,k,ip=0; printf("请输入数字: "); scanf("%d",&m); k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0){ip=1;break;} if(ip==0) printf("答: 数字%d是素数.\n",m); else printf("答: 数字%d不是素数.\n",m); } (2). #include #include Voidmain() {intm,i,k; printf("请输入数字: "); scanf("%d",&m); k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0)break; if(i>k) printf("答: 数字%d是素数.\n",m); else printf("答: 数字%d不是素数.\n",m); } 6.输出100~200之间的全部素数 要求: 编程,尝试两种方法。 记录源程序、记录结果。 #include #include voidmain() { intm,i,k,n=0; printf("100~200的素数有: \n"); for(m=101;m<=200;m=m+2) { k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0) break; if(i>=k+1) { printf("%d",m); n=n+1; } if(n%10==0) printf("\n"); } printf("\n"); } 7.任意给定一个正整数m,输出1~m区间内既能被3整除也能被5整除的数。 例如: 如果m为19,则输出15. 要求: 编程,记录源程序、记录结果。 #include voidmain() {inti,m; printf("请输入m的值: "); scanf("%d",&m); for(i=1;i<=m;i++) if(i%3==0&&i%5==0) printf("%d",i); printf("\n既能被5整除又能被3整除\n"); } 8.有一序列: 1,1,2,3,5,8,13……从第三个数开始每个数是前两个数之和,求出此数列的前m项之和,总和存放到变量sum中,并输出总和。 要求: 编程,记录源程序、记录结果。 #include voidmain() {intt,a=0,i,m,sum=0,s=1; printf("请输入m的值: "); scanf("%d",&m); for(i=1;i<=m;i++) {sum=sum+s; t=s; s=s+a; a=t;} printf("sum=%d\n",sum); } 9.对于任意给定的正整数m,求这个数的各位数字之和,存入变量sum中,并输出之。 例如: 如果m为123,则程序应输出6。 要求: 编程,记录源程序、记录结果。 #include voidmain() {intm,sum=0; printf("请输入m的值: "); scanf("%d",&m); while(m>0) {sum=sum+m%10; m=m/10;} printf("sum=%d\n",sum); } 第5次上机内容: 1.输入5名同学成绩,并求大于80的人数。 要求: 编程,记录结果。 #include voidmain() {intscore[5],i,count=0; for(i=0;i<5;i++) scanf("%d",&score[i]); for(i=0;i<5;i++) if(score[i]>=80)count++; printf("count=%d\n",count); } 2.输入m名同学成绩,并求不及格的人数。 要求: 编程,记录结果。 #include voidmain() {intscore[20],i,count=0,m; printf("输入m的值: "); scanf("%d",&m); for(i=0;i scanf("%d",&score[i]); for(i=0;i if(score[i]<=60)count++; printf("count=%d\n",count); } 3.输入10名同学成绩,求大于平均分的人数。 要求: 编程,记录结果。 #include voidmain() {intscore[10],i,count=0; floatsum=0,average; for(i=0;i<10;i++) scanf("%d",&score[i]); for(i=0;i<10;i++) sum=sum+score[i]; average=sum/10; for(i=0;i<10;i++) if(score[i]>=average)count++; printf("count=%d\n",count); } 4.数组中5个数,左移一位/右移一位。 如: a[5]={1,2,3,4,5} 左移后变为{2,3,4,5,1} 右移后变为{5,1,2,3,4} 要求: 编程,记录结果。 左移: #include voidmain() {inta[5]={1,2,3,4,5},i,t; t=a[0]; for(i=0;i<4;i++) a[i]=a[i+1]; a[4]=t; for(i=0;i<5;i++) printf("%d",a[i]); printf("\n"); } 右移: #include voidmain() {inta[5]={1,2,3,4,5},i,t; t=a[4]; for(i=4;i>0;i--) a[i]=a[i-1]; a[0]=t; for(i=0;i<5;i++) printf("%d",a[i]); printf("\n"); } 5.向一个有序数组中插入一个数,保证有序。 如: a[6]={1,2,3,4,6}中插入5变成{1,2,3,4,5,6} 要求: 编程,记录结果。 #include voidmain() {inta[6]={1,2,3,5,6},m,k=0,i; scanf("%d",&m); if(m>a[4])a[5]=m; else { for(i=0;i<=4;i++) if(a[i]>m){k=i;break;} for(i=4;i>=k;i--) a[i+1]=a[i]; a[k]=m; } for(i=0;i<=5;i++) printf("%d",a[i]); printf("\n"); } 6.输入10个整数,求其中的最小数。 要求: 编程,记录结果。 (1).普通选择法: #include voidmain() {inta[10]={1,2,3,4,5,6,8,20,11,12},i,k; k=a[0]; for(i=1;i<10;i++) if(k>a[i]) k=a[i]; printf("theMinnumberis%d\n",k); } (2).下标选择法: #include voidmain() {inta[10]={1,2,3,4,5,6,8,20,11,12},i,k; k=0; for(i=1;i<10;i++) if(a[k]>a[i]) k=i; printf("theMinnumberis%d\n",a[k]); } 7.输入10个整数,按由小到大的顺序排序并输出。 要求: 编程,记录结果。 (1).起泡法: #include voidmain() {inta[10],i,j,t; for(i=0;i<10;i++) scanf("%d",&a[i]); for(j=0;j<=8;j++) for(i=0;i<=8-j;i++) if(a[i]>a[i+1]) {t=a[i]; a[i]=a[i+1]; a[i+1]=t;} for(i=0;i<10;i++) printf("%d",a[i]); } (2).选择法: 8.对数组a[3][3]={1,2,3,4,5,6,7,8,9}进行自身转置。 要求: 编程,记录结果。 #include voidmain() {inta[3][3]={{1,2,3},{4,5,6},{7,8,9}},i,j,t; for(i=0;i<=2;i++) for(j=i;j<=2;j++) {t=a[i][j]; a[i][j]=a[j][i]; a[j][i]=t; } for(i=0;i<=2;i++) { for(j=0;j<=2;j++) printf("%d",a[i][j]); printf("\n"); } } 9.输出杨辉三角形(5行) 要求: 编程,记录结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 上机 程序