C语言实验题目(上)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
switch(c) { case 10: case 9: grade='A';break; case 8: grade='B';break; case 7: grade='C';break; case 6: grade='D';break; default: grade='E'; } printf("您输入的成绩的等级为:%C\n",grade); } 计算当 n 为何值时,不等式 sum=1 + 1/2 + 1/3 +… + 1/n >limit 成立,输出 n 对应的 sum(limit 从键盘输入,要求用 while、或 do... while 语句,limit=10) 。 #include <stdio.h> void main() { float n=0,sum=0,limit=0; printf("请输入一个 limit 的值:"); scanf("%f",&limit); while (sum<=limit) { n++; sum=sum+1/n; } printf("此时 sum 的值是:%f\n",sum); printf("此时 n 的值为%f\n",n); } 计算 M=11+ 22+ 33+…+ NN,直到 N 等于 15 为止,输出 N 和对应的 M。 (要求用 for 语句 做) #include <stdio.h> void main() { int n; float M; M=0.0; for(n=1;n<10;n++) { M=M+(n+10*n); } for(n=10;n<=15;n++) { M=M+(n+100*n);
} n--; printf("当 n 是%d 时,M 的值为%f\n",n,M); } 100 匹马驮 100 担货,大马一匹驮 3 担,中马一匹驮 2 担,小马一匹驮 0.5 担,计算大、中、 小马数目并输出。 #include <stdio.h> void main() { int big,mid,small,sum=0; for(big=0;big<33;big++) for(small=0;small<100;small+=2) for(mid=0;mid<50;mid++) { if(3*big+2*mid+small/2==100&&big+mid+small==100) { printf("big:%d\t,mid:%d\t,small:%d\n",big,mid,small); sum++; } } printf("一共有%d 种组合方式\n",sum); } 求 sum=1!+2!+3!+...+10! ,并输出结果。 #include <stdio.h> void main() { float s=0,t=1; int n; for(n=1;n<=10;n++) { t=t*n; s=s+t; } printf("1!+2!+3!+...+10!的和是:%e\n",s); } 注意该程序的结果为:1!+2!+3!+...+10!的和是:4.037913e+006 是以科学计数法表示的结果,因为 int 的定义范围只能以此表示,如果用 long int 来输出, 则可以得到正常表示的结果 #include <stdio.h> void main() { long s=0,t=1;
{ int max; if(x>y) { if(x>z) max=x; else max=z; } else { if(y>z) max=y; else max=z; } return(max); } void main() { int max(int x,int y,int z); int a,b,c,w; printf("请您输入三个整数:"); scanf("%d,%d,%d",&a,&b,&c); printf("您输入的三个数是:%d,%d,%d\n",a,b,c); w=max(a,b,c); printf("这三个数中最大的是:%d\n",w); } 给出一个百分制成绩,要求输出成绩等级 A、B、C、D、E。90 分以上为 A,80-89 分为 B, 70-79 分为 C,60-69 分为 D,60 分以下为 E。要求输入一个成绩并打印出对应的等级制 成绩。要求用 switch 语句完成。 #include <stdio.h> void main() { int grade,c; printf("请您输入一个成绩:"); scanf("%d",&grade); while(grade>100||grade<0) { printf("您输入了一个错误的成绩!请重新输入\n"); scanf("%d",&grade); } c=grade/10;
int n; for(n=1;n<=10;n++) { t=t*n; s=s+t; } printf("1!+2!+3!+...+10!的和是:%ld\n",s); } 1!+2!+3!+...+10!的和是:4037913 设数列为 1,3,5,7,9,11,13,15,17,19,动态输入在数组 array 中,然后顺序打印 输出该数列,再逆序打印输出该数列。 #include <stdio.h> #define N 10 void main() { int array[10]; printf("请您输入 10 个整数:\n"); int i=0; for(i=0;i<N;i++) scanf("%d",&array[i]); printf("您输入的 10 个整数的顺序排列是:\n"); for(i=0;i<N;i++) printf("%-4d",array[i]); printf("\n"); printf("您输入的 10 个整数的逆序排列是:\n"); for(i=N-1;i>=0;i--) printf("%-4d",array[i]); printf("\n"); } 将 3x3 阶二维数组的关于主对角线对称的元素互换。二维数组的第 1 至 3 行元素分别为 1、 2、3、4、5、6、7、8、9。用矩阵形式分别输出互换前、后的数组元素值。 #include <stdio.h> void main() { int i,j,t,array[3][3]={1,2,3,4,5,6,7,8,9}; printf("Before Exchanged:\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%5d",array[i][j]); printf("\n");
} for(i=1;i<3;i++) for(j=0;j<i;j++) { t=array[i][j]; array[i][j]=array[j][i]; array[j][i]=t; } printf("After Exchanged:\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%5d",array[i][j]); printf("\n"); } }
求两个数之和。在两种情况下完成: ①数据在程序内部定义变量时赋初值,或者通过赋值语句赋值。 ②数据通过 scanf( )函数输入。 静态输入: #include <stdio.h> void main() { int a=1,b=2,s; s=a+b; printf("这两个数的和是%d\n",s); } 动态输入: #include <stdio.h> void main() { int a,b,s; printf("请您输入两个数:"); scanf("%d,%d",&a,&b); s=a+b; printf("这两个数的和是%d\n",s); } 设圆半径 r=1.5,圆柱高 h=3,求圆周长、圆面积、圆柱表面积、圆柱体积。要求用 scanf 输 入数据,输出计算结果。 #include <stdio.h> void main() { float r,h,l,s,sq,vz; float pi=3.1415926; printf("请输入圆的半径 r,圆柱高 h:"); scanf("%f,%f",&r,&h); l=2*pi*r; s=r*r*pi; sq=4*pi*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("圆柱的体积为 vz=%6.2f\n",vz); } 输入 a、b、c 三个整数,求出其中最大者,并连同三个源数据一起输出。 #include <stdio.h> int max(int x,int y,int z)