C上机复习题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1有3个整数a,b,c,由键盘输入,输出其中最大的数.
#include
void main()
{
int a,b,c;
printf("输入三个数:");
scanf("%d%d%d",&a,&b,&c);
if(a>b&&a>c)
printf("最大值为:%d",a);
else if(b>a&&b>c)
printf("最大值为:%d",b);
else
printf("最大值为:%d",c);
}
2给出一百分制成绩,要求输出成绩等级‘A’、‘B’,‘C’,‘D’,‘E’。90分以上为‘A’,80~89为‘B’,70~79为‘C’,60~69为‘D’,60分以下为‘E’。
#include
void main()
{
float grade;
scanf("%f",&grade);
if (grade>=90&&<=100)
printf("A");
else if(grade>=80&&<90)
printf("B");
else if("grade>=70&&grade<80)
printf("C");
else if(grade>=60&&<70)
printf("D");
else
printf(("E");
}
3. 输入两个正整数m和n,求其最大公约数和最小公倍数。(辗转相除法)
#include
main()
{
int a,b,m,n,temp;
printf("请输入两个整数:\n");
scanf("%d%d",&m,&n);
if(m { temp=m; m=n; n=temp; } a=m;b=n; while(b!=0) { temp=a%b; a=b; b=temp; } printf("最大公约数是:%d\n",a); printf("最小公倍数是:%d\n",n*m/a); } 4、计算100至999之间有多少个数,其各位数字之和是5。例如:122、131是满足要求的数的两个例子。(穷举法) #include void main() { int num=100,s=0; while (num<1000) { { if((num/100+num%100/10+num%100%10)== 5) printf("%d\n",num); s=s+1; num++; } } printf("输出满足条件的数字的个数:%d\n",s); } 5.打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为153=13+53+33。 #include #include void main() { int number; for(number=100;number<1000;number++) { if(pow(number/100,3)+pow(number%100/10, 3)+pow(number%100%10,3)==number) printf( “%d\n”,number); } } 6. 求Sn=a+aa+aaa+…+aa…a(n个a)之值,其中a是一个数字。例如:2+22+222+2222+22222(此时n=5),n由键盘输入。 #include void main() { int s=0,i,a,n; printf("请输入两个数:"); scanf("%d%d",&a,&n); for(i=1;i<=n;i++) { s=s+a; a=10*a+a; } printf("s=%d\n",s); } 7求100~200间的全部素数。 #include #include void main() { int m,k,i,n=0; int num=0; 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; num++; if(n%5==0) printf("\n"); } } printf("\n全部素数有:%d\n",num); } 8.定义一个2*3矩阵,输入/输出数值 #include void main() { int i,j,a[2][3]; for(i=0;i<2;i++) { for(j=0;j<3;j++) scanf("%d",&a[i][j]); } for(i=0;i<2;i++) { for(j=0;j<3;j++) printf("%d ",a[i][j]); printf("\n"); } } 9. 求一个3*3矩阵对角线元素之和。 #include main() { int a[3][3],i,j,sum=0; printf("请输入数组元素:(3*3)\n"); for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); printf("\n"); printf("数组为:\n"); for(i=0;i<3;i++) {for(j=0;j<3;j++) printf("%4d",a[i][j]); printf("\n"); } printf("\n"); printf("对角线的和:\n");