C语言上机题库WORD版

C语言习题集 3.11输入'A'~'F'中的一个字母,代表一个十六进制数,将其转换为十进制数,求该数与15的和并输出。

输入格式:
B 输出格式:
26 #include<stdio.h> int main(void) { char ch; int sum; ch=getchar(); sum=ch-'A'+10+15; printf(“%d\n“,sum); return 0; } 3.12输入三个整数,求其平均值。

输入格式:
3 5 7 输出格式:
5 #include <stdio.h> int main(void) { int a,b,c,aver; scanf(“%d %d %d“,&a,&b,&c); aver=(a+b+c)/3; printf(“%d\n“,aver); return 0; } 3.13根据 c=5/9*(f-32) 公式,输入华氏温度f,求摄氏温度c,结果精确到小数点后两位。

输入格式:
80.0 输出格式:
26.67 #include<stdio.h> int main(void) { float f,c; scanf(“%f“,&f); c=5.0/9*(f-32); printf(“%.2f\n“,c); return 0; } 3.14输入一个四位正整数,求其各位数字之和。例如,1357的各位数字之和为1 + 3 + 5 + 7 = 16。

输入格式:
1357 输出格式:
16 #include<stdio.h> int main(void) { int num; int a,b,c,d,total; scanf(“%d“,&num); a=num/1000; b=(num-a*1000)/100; c=(num-a*1000-b*100)/10; d=num-a*1000-b*100-c*10; total=a+b+c+d; printf(“%d\n“,total); return 0; } 3.15输入一大写字母,输出对应的小写字母。

输入格式:
A 输出格式:
a #include<stdio.h> int main(void) { char c1,c2; scanf(“%c“,&c1); c2=c1+32; printf(“%c“,c2); } 3.16输入两个整数分别赋值给变量a和b,将a和b的值互换,输出a、b的值。

输入格式:
3 5 输出格式:
5 3 #include <stdio.h> int main(void) { int a,b,temp; scanf(“%d%d“,&a,&b); temp=a; a=b; b=temp; printf(“%d %d“,a,b); return 0; } 3.21输入一小写字母,输出对应的大写字母。

输入格式:
b 输出格式:
B #include<stdio.h> int main(void) { char ch; ch=getchar(); putchar(ch-32); putchar('\n'); } 3.22输入任意四位整数,以反序的方式输出该整数。例如:输入1234,输出4321 输入格式:
1357 输出格式:
7531 #include<stdio.h> int main(void) { char c1,c2,c3,c4; scanf(“%c%c%c%c“,&c1,&c2,&c3,&c4); printf(“%c%c%c%c\n“,c4,c3,c2,c1); } 3.23输入两个电阻值,求它们并联和串联的电阻值,结果保留两位小数。并联和串联的电阻值的计算公式为:
并联电阻:PR=(R1*R2)/(R1+R2) 串联电阻:RS=R1+R2 输入格式:
3 5 输出格式:
1.88 8.00 #include <stdio.h> int main(void) { double r1, r2, pr, rs; scanf(“%lf%lf“, &r1, &r2); pr =(r1 * r2)/ (r1 + r2) ; rs = r1 + r2; printf(“%.2f %.2f\n“, pr, rs); return 0; } 3.24使用getchar函数分别输入两个字符变量c1和c2,要求c1、c2均是字符'0'到'9'中的一个字符。将c1、c2中的值转换成相应的数字,如将字符'1'转换为数字1,并输出这两个数相加的结果。

输入格式:
26 输出格式:
8 #include<stdio.h> int main(void) { char c1,c2; c1=getchar(); c2=getchar(); c1=c1-48; c2=c2-48; printf(“%d\n“,c1+c2); return 0; } 3.25输入梯形的上下底边长度和高,计算梯形的面积,保留一位小数。计算梯形面积的公式如下:
S=h*(a+b)/2 输入格式:
3 5 4 输出格式:
16.0 #include<stdio.h> int main(void) { int a,b,h; float S; scanf(“%d%d%d“,&a,&b,&h); S=h*(a+b)/2.0; printf(“%.1f“,S); return 0; } 3.26输入圆的半径,求圆的周长和面积,结果精确到小数点后两位。已知圆周率为3.14159。

输入格式:
5.0 输出格式:
31.42 78.54 #include <stdio.h> void main() { double r,l,s; scanf(“%lf“,&r); l=2*3.14159*r; s=3.14159*r*r; printf(“%.2f %.2f\n“,l,s); } 4.1输入整数a和b,如果a^2 + b^2 大于100,则输出a + b的值;
否则,输出a - b的值。

输入格式:
3 5 输出格式:
-2 #include<stdio.h> void main() { int a,b; scanf(“%d%d“,&a,&b); if (a*a+b*b>100) printf(“%d\n“,a+b); else printf(“%d\n“,a-b); } 4.2输入整数n,如果n既是5的整倍数又是7的整倍数,则输出yes;
否则输出no。

输入格式:
35 输出格式:
Yes #include <stdio.h> void main() { int n; scanf(“%d“,&n); if(n%5 == 0 && n%7 == 0) printf(“yes\n“); else printf(“no\n“); } 4.3商场为促销实行打折销售商品,假定商品价格为p元,编程计算某顾客购买x件商品的应付金额,保留一位小数。先输入价格p,再输入购买的件数x。计算公式sum = p * x * (1 - d) 其中,sum为应付金额,d为折扣(x<5时:d=0;
5<=x<10时:d=1%;
10<=x<21时:d=2%;
21<=x<30时:d=4%;
30<=x时:d=6%;
)。

输入格式:
9.9 15 输出格式:
145.5 #include<stdio.h> void main() { int x; float p,sum,d; scanf (“%f%d“,&p,&x); if(x<5) d=0; else if(x<10) d=0.01; else if(x<21) d=0.02; else if(x<30) d=0.04; else d=0.06; sum=p*x*(1-d); printf(“%.1f“,sum); } 4.4输入'0'~'9'或'a'~'f'或'A'~'F'中的一个字符,代表一个十六进制数,将其转换为十进制数,求该数与15的和并输出。

输入格式:
6 输出格式:
21 #include<stdio.h> void main() { char ch; ch=getchar(); if(ch>='0'&&ch<='9') printf(“%d\n“,ch-'0'+15); else if(ch>='A'&&ch<='F') printf(“%d\n“,ch-'A'+10+15); else if(ch>='a'&&ch<='f') printf(“%d\n“,ch-'a'+10+15); else printf(“Iaput Error!!\n“); } 4.5已知一张如下所示的时间表:
***************Time*************** 1 morning 2 afternoon 3 night ********************************** Please input your choice: 根据输入的序号显示相应的问候信息:输入1时,输出Good morning;
输入2时,输出Good afternoon;
输入3时,输出Good night;
对于其他的输入,则输出error。

输入格式:
2 输出格式:
Good afternoon #include<stdio.h> int main(void) { int choice; scanf(“%d“,&choice); switch(choice) { case 1:printf(“Good morning\n“);break; case 2:printf(“Good afternoon\n“);break; case 3:printf(“Good night\n“);break; default:printf(“error\n“); } } 4.6输入3个整数,要求按从小到大的顺序输出。

输入格式:
5 3 1 输出格式:
1 3 5 #include<stdio.h> int main(void) { int a,b,c,t; scanf(“%d%d%d“,&a,&b,&c); if(a>b) {t=a;a=b;b=t;} if(a>c) {t=a;a=c;c=t;} if(b>c) {t=b;b=c;c=t;} printf(“%d %d %d\n“,a,b,c); return 0; } 4.7输入两个实数和一个算术运算符(+,-,*,/),根据运算符执行相应的运算并输出运算结果,保留一位小数。(提示:运算符先输入,两个实数后输入)
输入格式:
+ 1.5 2.1 输出格式:
3.6 #include<stdio.h> int main(void) { double a,b; char op; scanf(“%c %lf%lf“,&op,&a,&b); if (op=='+') printf(“%.1f\n“,a+b); else if(op=='-') printf(“%.1f\n“,a-b); else if(op=='*') printf(“%.1f\n“,a*b); else printf(“%.1f\n“,a/b); return 0; } 4.8输入3个整数,要求按从大到小的顺序输出。

输入格式:
1 3 5 输出格式:
5 3 1 #include<stdio.h> int main(void) { int a,b,c,t; scanf(“%d%d%d“,&a,&b,&c); if(a<b) {t=a;a=b;b=t;} if(a<c) {t=a;a=c;c=t;} if(b<c) {t=b;b=c;c=t;} printf(“%d %d %d\n“,a,b,c); return 0; } 5.11编写程序,接收两个整数num1和num2,找出这两个数之间所有奇数的和。

输入格式:
1 100 输出格式:
2500 #include<stdio.h> int main(void) { int num1,num2,t,i,sum=0; scanf(“%d%d“,&num1,&num2); if(num1>num2) {t=num1; num1=num2; num2=t; } if(num1%2==0) num1++; for(i=num1;i<=num2;i+=2) sum+=i; printf(“%d“,sum); } 5.12输入10个分数(浮点型),去掉最高分和最低分后求平均分,保留一位小数。

输入格式:
0 1 2 3 4 5 6 7 8 9 输出格式:
4.5 #include <stdio.h> void main() { int i; double sum=0,a,max,min; scanf(“%lf“,&a); sum=max=min=a; for(i=1;i<=9;i++) { scanf(“%lf“,&a); if(max<a) max=a; if(min>a) min=a; sum=sum+a; } sum=sum-max-min; printf(“%.1f“,sum/8); } 5.13输入n,求 1 * 2 * 3 * ... * n 的值。

输入格式:
10 输出格式:
3628800 #include<stdio.h> int main(void) { int i,n,k=1; scanf(“%d“,&n); for(i=1;i<=n;i++) k=k*i; printf(“%d“,k); } 5.14根据用户输入的正整数a(1~9)和正整数n,求a + aa + ... + aa...a(n个a)的值。例如,当用户输入a为6,n为5时,结果为74070。

输入格式:
6 5 输出格式:
74070 #include <stdio.h> void main() { int a,n,i,t; long int sum=0; scanf(“%d%d“,&a,&n); t=a; for(i=1;i<=n;i++) {sum=sum+t; t=t*10+a; } printf(“%d“,sum); } 5.15已知函数头为 void avg(void),函数avg的功能:输入10个分数(浮点型),去掉最高分和最低分,求平均分,保留一位小数。编写main函数并调用函数avg。

输入格式:
0 1 2 3 4 5 6 7 8 9 输出格式:
4.5 #include <stdio.h> void avg(void) { int i; float sum,n,max,min,aver; scanf(“%f“,&n); max=min=n; sum=n; for(i=2;i<=10;i++) { scanf(“%f“,&n); max=(max>n)?max:n; min=(min<n)?min:n; sum+=n; } aver=(sum-max-min)/8; printf(“%.1f\n“,aver); } 5.16根据用户输入的正整数n,求 1- 1/2 + 1/3 - 1/4 +...+ ((-1)^(n+1))/n 的值。保留两位小数。

输入格式:
2 输出格式:
0.50 #include <stdio.h> void main() { int i,flag=1,n; double sum = 0; scanf(“%d“,&n); for ( i=1;i<=n;i++ ) { sum +=1.0/i*flag ; flag=-flag; } printf(“%.2f\n“,sum); } 5.21输入n,求1! + 2! + 3! +... + n! 的值。

输入格式:
10 输出格式:
4037913 #include<stdio.h> int main(void) { int sum=0,i,n,s=1; scanf(“%d“,&n); for(i=1;i<=n;i++) { s*=i; sum+=s; } printf(“%d\n“,sum); } 5.22根据用户输入的正整数n,求 2/1 + 3/2 + 5/3 + 8/5 + 13/8 + ...的前n项之和。保留两位小数。

输入格式:
2 输出格式:
3.50 #include <stdio.h> void main(void) { int a = 1, b = 2, c, i, n; double d,sum=0; scanf(“%d“,&n); for(i = 1; i <= n; i++) { d=1.*b/a; sum+=d; c = a + b; a = b; b = c; } printf(“%.2f“,sum); } 5.23根据用户输入的正整数n,求 1 - 2/3 + 3/5 - 4/7 + 5/9 - 6/11 + ...的前n项之和。保留两位小数。

输入格式:
2 输出格式:
0.33 #include<stdio.h> int main(void) { int i, n,flag=1; double sum=0; scanf(“%d“,&n); for(i=1;i<=n;i++) { sum+=flag*1.0*i/(2*i-1); flag=-flag; } printf(“%.2f\n“,sum); return 0; } 5.24根据用户输入的正整数n,求数列1, 2, 3, 5, 8, 13, 21, 34, ...中第n项的值。

输入格式:
25 输出格式:
121393 #include <stdio.h> int main(void) { int a = 1, b = 2, c,n, i; scanf(“%d“,&n); for(i = 3; i<=n; i++) { c = a + b; a = b; b = c; } printf(“%d\n“, c); return 0; } 5.25输入一行字符,统计其中英文字母、数字字符、空格和其他字符的个数。

输入格式:
kf 3f5;p0 8d?^@ 输出格式:
5 4 2 4 #include <stdio.h> int main(void) { char c; int eng=0,dig=0,space=0,others=0; scanf(“%c“,&c); while (c!='\n') { if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) eng++; else if(c>='0'&&c<='9') dig++; else if(c==' ') space++; else others++; scanf(“%c“,&c);} printf(“%d %d %d %d\n“,eng,dig,space,others); return 0; } 5.26根据用户输入的正整数n,输出数列0, 1, 2, 3, 6, 11, 20, 37, 68,...中第n项的值。

输入格式:
4 输出格式:
3 #include<stdio.h> void main() { int i,a=0,b=1,c=2,d,n; scanf(“%d“,&n); for(i=4;i<=n;i++) { d=a+b+c; a=b; b=c; c=d;} printf (“%d\n“,d); } 5.31输入若干整数,以-1结束,去掉最大值和最小值,求平均值,保留一位小数。

输入格式:
1 3 5 7 9 -1 输出格式:
5.0 #include <stdio.h> void main () { int score; double sum=0,n=0,avg,max,min,b; scanf(“%d“,&score); max=min=b=score; while(score!=-1) { if(score>max) max=score; if(score<min) min=score; sum+=score; n++; scanf(“%d“,&score); } avg=(sum-max-min)/(n-2); printf(“%.1f\n“,avg); } 5.32输入两个正整数,求最大公约数。

输入格式:
15 5 输出格式:
5 #include <stdio.h> int main (void ) { int i,m, n, temp,maxgy; scanf (“%d%d“, &m, &n); if(m>n) {temp=m;m=n;n=temp;} for(i=m;i>=1;i--) if(m%i==0&&n%i==0) { maxgy=i;break;} printf(“%d\n“,maxgy); return 0; } 5.33输入两个正整数,求最小公倍数。

输入格式:
5 15 输出格式:
15 #include <stdio.h> int main (void ) { int i,m, n, temp,maxgy; scanf (“%d%d“, &m, &n); if(m<n) {temp=m;m=n;n=temp;} for(i=m;;i++) if(i%m==0&&i%n==0) { maxgy=i;break;} printf(“%d\n“,maxgy); return 0; } 5.34输入一个正整数n,求n是几位数。

输入格式:
1357 输出格式:
4 #include <stdio.h> main(void) { int n, sum = 0,k=0; scanf(“%d“, &n); while (n) { n /= 10;k++; } printf(“%d\n“, k); } 5.35输入一个正整数n,判断n是否为回文数。所谓回文数,是从左到右读这个数和从右到左读这个数是一样的。例如,98789是回文数。如果是,输出“yes“;如果不是,则输出“no“。

输入格式:
135797531 输出格式:
Yes #include <stdio.h> main(void) { int n,m, sum = 0,k=0; scanf(“%d“, &n); m=n; while (m) { sum = sum*10 + m%10; m /= 10;} if (sum==n) printf(“yes“); else printf(“no“); } 5.36根据输入的行数输出图案。例如,输入的行数为7,则输出如下图所示的图案(注:星号之间没有空格)。

* * * * * * * * * * * * * * * * * * * * * * * * * 输入格式:
5 输出格式:
* *** ***** *** * #include <stdio.h> void main() { int i,j,n; scanf(“%d“,&n); for(i=-n/2;i<=n/2;i++) { for(j=1;j<=abs(i);j++) printf(“ “); for(j=1;j<=n-2*abs(i);j++) printf(“*“); printf(“\n“); } } 6.11输入10个数到数组t中,求最小值及最小值在数组t中的下标。

输入格式:
9 7 5 3 1 0 2 4 6 8 输出格式:
0 5 #include <stdio.h> void main() { int x[10],i,min,j,k; for(i=0;i< 10;i++) scanf(“%d“,&x[i]); min=x[0];k=0; for(j=1;j< 10;j++) if(min>x[j]) { min=x[j];k=j;} printf(“%d %d\n“,min,k); } 6.12输入10个数到数组t中,再输入x,如果有与x相等的数组元素,输出该数组元素的下标;
否则,输出-1。

输入格式:
9 7 5 3 1 0 2 4 6 8 5 输出格式:
2 #include <stdio.h> void main() { int t[10],i,x,flag=0; for(i=0;i< 10;i++) scanf(“%d“,&t[i]); scanf(“%d“,&x); for (i=0;i<10;i++) { if (x==t[i]) {flag=1; printf(“%d“, i);break; } } if(flag==0) printf(“-1“); } 6.13输入10个整数到数组t中,按升序排序,输出下标为6的数组元素。

输入格式:
9 7 5 3 1 0 2 4 6 8 输出格式:
6 #include<stdio.h> int main(void) { int t[10],i,j,temp; for(i=0;i<10;i++) scanf(“%d“,&t[i]); for(i=1;i<10;i++) for(j=0;j<10-i;j++) if(t[j]>t[j+1]) { temp=t[j]; t[j]=t[j+1]; t[j+1]=temp; } printf(“%d“,t[6]); return 0; } 6.14输入九个整数到数组t中数组长度为奇数,将数组t中的数组元素倒置,输出倒置以后下标为5的数组元素。例如,数组t中九个数组元素依次为2、4、6、8、9、7、5、3、1,倒置以后九个数组元素依次为1、3、5、7、9、8、6、4、2,下标为5的数组元素为8。已知变量声明和数组声明为“int i, tmp, t[9];”,要求不再声明其他的变量或数组。

输入格式:
9 7 5 3 1 2 4 6 8 输出格式:
3 #include<stdio.h> int main(void) { int i,tmp,t[9]; for(i=0;i<9;i++) scanf(“%d“,&t[i]); for(i=0;i<9/2;i++) { tmp=t[i]; t[i]=t[8-i]; t[8-i]=tmp; } printf(“%d\n“,t[5]); return 0; } 6.15求3行5列二维数组中每列数组元素的最小值,并输出列下标为3的这一列的最小值。

输入格式:
-3 -1 -5 -7 -9 -8 -6 -4 -2 -8 -2 -3 -4 -5 -6 输出格式:
-7 #include<stdio.h> int main(void) { int i,j,t[3][5],max; for(i=0;i<3;i++) for(j=0;j<5;j++) scanf(“%d“,&t[i][j]); max=t[0][3]; for(i=1;i<3;i++) if(max>=t[i][3]) max=t[i][3]; printf(“%d“,max); return 0; } 6.16求3行5列二维数组中的最小值,及最小值在数组中的行号和列号,并输出。

输入格式:
3 1 5 7 9 8 6 4 2 0 1 3 -1 3 1 输出格式:
-1 2 2 #include<stdio.h> int main(void) { int i,j,t[3][5],max,m,n; for(i=0;i<3;i++) for(j=0;j<5;j++) scanf(“%d“,&t[i][j]); max=t[0][0]; for(i=0;i<3;i++) for(j=0;j<5;j++) if(max>t[i][j]) { max=t[i][j]; m=i; n=j; } printf(“%d %d %d“,max,m,n); return 0; } 6.21输入10个数到数组t中,求最大值及最大值在数组t中的下标。

输入格式:
9 7 5 3 1 0 2 4 6 8 输出格式:
9 0 #include<stdio.h> void main() { int i,a,m,t[10],max; for(i=0;i<10;i++) scanf(“%d“,&t[i]); max=t[0];a=0; for(m=1;m<10;m++) if(max<t[m]) {max=t[m];a=m;} printf(“%d %d“,max,a); } 6.22输入10个整数到数组t中,按降序排序,输出下标为5的数组元素。

输入格式:
9 7 5 3 1 0 2 4 6 8 输出格式:
4 void main() { int a,b,k,t[10]; for(a=0;a<10;a++) scanf(“%d“,&t[a]); for(a=1;a<10;a++) for(b=0;b<10-a;b++) if(t[b]<t[b+1]) { k=t[b]; t[b]=t[b+1]; t[b+1]=k; } printf(“%d“,t[5]); } 6.23输出数组s中字符串的子串,子串从s[begin]开始,长度为len。

char s[80]; int begin, len; gets(s); scanf(“%d%d“, &begin, &len); 输入格式:
how do you do? 4 9 输出格式:
do you do int main(void) { char s[80]; int i,begin, len; gets(s); scanf(“%d%d“, &begin, &len); for(i=begin;i<begin+len;i++) printf(“%c“,s[i]); return 0; } 6.24输入6个整数到数组t中,求最小值。

输入格式:
9 7 5 3 1 0 输出格式:
0 #include<stdio.h> int main(void) { int a[6],i,min; scanf(“%d“,&a[0]); min=a[0]; for(i=1;i<6;i++) { scanf(“%d“,&a[i]); min=(min<a[i])?min:a[i]; } printf(“%d\n“,min); return 0; } 6.25输入10个整数到数组t中数组长度为偶数,将数组t中的数组元素倒置,输出倒置以后下标为5的数组元素。例如,数组t中10个数组元素依次为1、3、5、7、9、8、6、4、2、0,倒置以后10个数组元素依次为0、2、4、6、8、9、7、5、3、1,下标为5的数组元素为9。已知变量声明和数组声明为“int i, tmp, t[10];”,要求不再声明其他的变量或数组。

输入格式:
9 7 5 3 1 0 2 4 6 8 输出格式:
1 #include<stdio.h> int main(void) { int t[10],i,temp; for(i=0;i<10;i++) scanf(“%d“,&t[i]); for(i=0;i<10/2;i++) { temp=t[i]; t[i]=t[10-1-i]; t[10-1-i]=temp; } printf(“%d\n“,t[5]); return 0; } 6.26已知数组声明为“int a[10] = {0, 10, 20, 30, 40, 50, 60, 70, 80, 90};“,10个数组元素是按升序排列的。输入一个整数n,如果没有与n相等的数组元素,输出-1;
否则,删除与n相等的数组元素,要求剩余的九个数组元素是按升序排列的,输出下标为6的数组元素。

输入格式:
100 输出格式:
-1 #include<stdio.h> int main(void) { int a[10]={0, 10, 20, 30, 40, 50, 60, 70, 80, 90}; int n,i,flag=1; scanf(“%d“,&n); for(i=0;i<10;i++) if(n==a[i]) { flag=0; break; } if(flag==1) printf(“-1\n“); else { for(;i<10;i++) a[i]=a[i+1]; printf(“%d\n“,a[6]); } return 0; } 6.31求3行5列二维数组中每列数组元素的最大值,并输出列下标为3的这一列的最大值。

输入格式:
-3 -1 -5 -7 -9 -8 -6 -4 -2 -8 -2 -3 -4 -5 -6 输出格式:
-2 #include<stdio.h> int main(void) { int i,j,t[3][5],max; for(i=0;i<3;i++) for(j=0;j<5;j++) scanf(“%d“,&t[i][j]); max=t[0][3]; for(i=1;i<3;i++) if(max<=t[i][3]) max=t[i][3]; printf(“%d\n“,max); return 0; } 6.32判断数组s中的字符串是不是回文。一个字符串从左向右读和从右向左读是一样的,该字符串是回文。例如,字符串“abcdedcba“是回文。如果是,输出“yes“;如果不是,则输出“no“。

char s[80]; gets(s); 输入格式:
abcdcba 输出格式:
Yes #include<stdio.h> #include<string.h> int main(void) { char s[80]; int i ,t,flag=1; gets(s); t=strlen(s); for(i=0;i<t/2;i++) if(s[i]!=s[t-1-i]) { flag=0; printf(“no“); break; } if(flag==1) printf(“yes“); return 0; } 6.33输入6个整数到数组t中,求最大值。

输入格式:
9 7 5 3 1 0 输出格式:
9 #include <stdio.h> int main(void) { int i,t[6],max; for(i=0;i<6;i++) scanf(“%d“,&t[i]); max=t[0]; for(i=1;i<6;i++) if (max<t[i]) max=t[i]; printf(“%d\n“,max); return 0; } 6.34不调用库函数strcpy,将以下数组s1中的字符串复制到数组s2中,并输出数组s2中的字符串。

char s1[80], s2[80]; gets(s1); 输入格式:
hello 输出格式:
Hello (错了)
#include<stdio.h> int main(void) { int i=0: char s1[80],s2[80]; printf(“输入一个字符串“); gets(s1); while(s1[i]!='10') { s2[i]=s1[i]; i++; } s2[i]='!0'; printf(“复制的字符串为“); puts(s2); return 0; } 6.35求3行5列二维数组中的最大值,及最大值在数组中的行号和列号,并输出。

输入格式:
-3 -1 -5 -7 -9 -8 -6 -4 -2 -8 -2 -3 -4 -5 -6 输出格式:
-1 0 1 #include<stdio.h> int main(void) { int i,j,t[3][5],max,m,n; for(i=0;i<3;i++) for(j=0;j<5;j++) scanf(“%d“,&t[i][j]); max=t[0][0]; for(i=0;i<3;i++) for(j=0;j<5;j++) if(max<t[i][j]) { max=t[i][j]; m=i; n=j; } printf(“%d %d %d\n“,max,m,n); return 0; } 6.36输入10个整数到数组t中数组长度为偶数,将数组t中的数组元素倒置,输出倒置以后下标为5的数组元素。例如,数组t中10个数组元素依次为1、3、5、7、9、8、6、4、2、0,倒置以后10个数组元素依次为0、2、4、6、8、9、7、5、3、1,下标为5的数组元素为9。已知变量声明和数组声明为“int i, tmp, t[10];”,要求不再声明其他的变量或数组。

输入格式:
9 7 5 3 1 0 2 4 6 8 输出格式:
1 #include<stdio.h> int main(void) { int t[10],i,tmp; for(i=0;i<10;i++) scanf(“%d“,&t[i]); for(i=0;i<5;i++) { tmp=t[i]; t[i]=t[9-i]; t[9-i]=tmp; } printf(“%d\n“,t[5]); return 0; }

推荐访问: