




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言习题集3.11 输入WF中的一个字母,代表一个十六进制数, 将其转换为十进制数,求该数与15的和并输出。输入格式:B输出格式:26#include<stdio.h>int main(void)(char ch;int sum;ch=getchar();sum二ch-'A'+10+15;pr i ntf ("% dn "zs u m);return 0;)3.12 输入三个整数,求其平均值。输入格式:357输出格式:5include <stdio.h>int main(void)(int ab,c,aver;scanf(H%d %
2、d %d,&a,&b/&c);aver=(a+b+c);3;printf(,%dn,l/aver);return 0;)3.13 根据c=5*(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(",%.2fn,/c);return 0;3.14 输入一个四位正整数,求其各位数字之和。例如1357的各位数字之和
3、为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("%dnttotal);return 0;3.15 输入一大写字母,输出对应的小写字母。输入格式:A输出格式:#include<stdi
4、o.h> int main(void) char cl,c2;scanf(,%c",&cl);c2=cl+32;printf(,%c,c2);)3.16 输入两个整数分别赋值给变量a和b,将a和b 的值互换,输出a、b的值。输入格式:35输出格式:53include <stdio.h>int main(void)(int azb,temp;scanf(l,%d%d,&a,&b);temp=a;a=b;b=temp;printf("%d %d,a,b);return 0;)3.21 输入一小写字母,输出对应的大写字母。输入格式:b输出
5、格式:B#include<stdio.h>int main(void)(char ch;ch=getchar();putchar(ch-32);putcharCXn1);)3.22 输入任意四位整数,以反序的方式输出该整数。例 如:输入1234,输出4321输入格式:1357输出格式:7531#include<stdio.h>int main(void)char cl/c2/c3/c4;scanf(l,%c%c%c%c"/&cl/&c2/&c3/&c4);printf(1,%c%c%c%cn,c4,c3,c2,cl);3.23
6、输入两个电阻值,求它们并联和串联的电阻值,结 果保留两位小数。并联和串联的电阻值的计算公式为: 并联电阻:PR=(R1*R2)/(R1+R2)串联电阻:RS=R1+R2输入格式:35输出格式:1.88 8.00include <stdio.h>int main(void) double rl, r2, pc rs;scanf("%lf%lf"z &rl, &r2);pr=(rl * r2)/ (rl + r2);rs = rl + r2;printf(H%.2f %.2fn, pr, rs);return 0; 3.24 使用getchar函数分
7、别输入两个字符变量cl和c2, 要求cl、c2均是字符。到9中的一个字符。将cl、c2 中的值转换成相应的数字,如将字符T转换为数字1, 并输出这两个数相加的结果。输入格式:26输出格式:8#include<stdio.h>int main(void)char clzc2;cl=getchar();c2=getchar();cl=cl-48;c2=c2-48;printf(,%dn,/cl+c2);return 0;)3.25 输入梯形的上下底边长度和高,计算梯形的面积, 保留一位小数。计算梯形面积的公式如下:S=h*(a+b)输入格式:354输出格式:16.0#include&l
8、t;stdio.h>int main(void)(int a,b,h;float S;scanf(,%d%d%d,&a,&b,&h);S=h*(a+b)/2.0;prim"'%.lf'S);return 0;3.26 输入圆的半径,求圆的周长和面积,结果精确 到小数点后两位。己知圆周率为3.14159。输入格式:5.0输出格式:31.42 78.54include <stdio.h>void main()double gLs;scanf(”lf”,&r);l=2*3.14159*r;s=3.14159*r*r;prin
9、tf(H%.2f %.2fn,J/s);4.1 输入整数a和b,如果”2 +皿2大于100,则输出 a + b的值;否则,输出a - b的值。输入格式:35输出格式:-2#include<stdio.h> void main() int a,b;scanf(,%d%d,/&a/&b);if (a*a+b*b>100)printf(,%dn,za+b);elseprintf(,%dn,a-b);4.2 输入整数n,如果n既是5的整倍数又是7的整倍数, 则输出yes;否则输出no(>输入格式:35输出格式:Yes#include <stdio.h>
10、; void main()int n;scanf(”d”,&n);if(n%5 = 0 && n%7 = 0) printf(,yesn,');elseprintf(,non,); 4.3 商场为促销实行打折销售商品,假定商品价格为p 元,编程计算某顾客购买x件商品的应付金额,保留一 位小数。先输入价格P,再输入购买的件数X。计算公 式sum = p * x * (1 - d)其中,sum为应付金额,d为折 扣(x<5 时:d=0; 5<=x<10 时:d=l%; 10<=x<21 时:d=2%; 21cx<30 时:d=4%
11、; 30<=x 时:d=6%; )o 输入格式: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*(l-d);printf("%.lf”,sum);)4.4 输入9或言f或公,F中的一个字符,代表一 个十六进制数,将其转换为十进制
12、数,求该数与15的 和并输出。输入格式:6输出格式:21#include<stdio.h>void main()(char ch;ch=getchar();if(ch>='0'&&ch<=,9,)printf("%dn",ch-'0'+15);else if(ch>='A'&&ch<=,F')printf("%dn",ch-'A'+10+15);else if(ch>='a,&&ch&l
13、t;='f')printf("%dn",ch-'a'+10+15);elseprintf(Mlaput Error! !nH);4.5 已知一张如下所示的时间表:* *Time*1 morning2 afternoon3 night*Please input your choice:根据输入的序号显示相应的问候信息:输入1时,输出 Good morning:输入 2 时,输出 Good afternoon;输入 3 时,输出Good night;对于其他的输入,则输出error。输入格式:2输出格式:Good afternoon#includ
14、e<stdio.h>int main(void)int choice;scanf(n%d"z&choice);switch(choice)case l:printf(HGood morningn,);break;case 2:printf(HGood afternoonnn);break;case 3:printf(HGood nightnH);break;default:printf(",errornH); )4.6 输入3个整数,要求按从小到大的顺序输出。输入格式:53 1输出格式:135#include<stdio.h>int main
15、(void)int a,b,czt;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(H%d %d %dn”,a,b,c);return 0;4.7 输入两个实数和一个算术运算符*, /),根 据运算符执行相应的运算并输出运算结果,保留一位小 数。(提示:运算符先输入,两个实数后输入)输入格式:+ 1.5 2.1输出格式:3.6#include<stdio.h>int main(void)(doub
16、le a,b;char op;scanf(H%c %lf%lf,&op/&a/&b);if (op=,+,)printf(,%.lfn,/a+b);else if(op=IJ) printf(H%.lfn,/a-b);else if(op='*') printf("%.lfn"/a*b);else printf("%.lfnta/b);return 0;4.8 输入3个整数,要求按从大到小的顺序输出。输入格式:135输出格式:531#include<stdio.h>int main(void)(int abc,t
17、;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(n%d %d %dn,a/b,c);return 0;5.11 编写程序,接收两个整数numl和num2,找出这 两个数之间所有奇数的和。输入格式:1100输出格式:2500#include<stdio.h> int main(void)int numl/num2,t/i/sum=0;scanf("%d%d"/&numl
18、,&num2);if(numl>num2)t=numl; numl=num2; num2=t; if(numl%2=0) numl+;for(i=numl;i<=num2;i+=2)sum+=i;printf(,%d,/sum);5.12 输入10个分数(浮点型),去掉最高分和最低分后求 平均分,保留一位小数。输入格式:0123456789输出格式:4.5include <stdio.h>void main() int i;double sum=0,amax,min;scanf("%lf",&a);sum=max=min=a;for(
19、i=l;i<=9;i+) scanf("%lf",&a);if(max<a) max=a;if(min>a) min=a;sum=sum+a;sum=sum-max-min;p ri ntf ("% . If ”, su m/8);5.13 输入n,求l*2*3*.*n的值。输入格式:10输出格式:3628800#include<stdio.h>int main(void)int izn,k=l;scanf(”%d”,&n);for(i=l;i<=n;i+)k=k*i;printf("%d”,k);5.
20、14 根据用户输入的正整数a(l9)和正整数n,求a + aa + .+ aa.a(n个a)的值。例如,当用户输入a为6, n为 5时,结果为74070。输入格式:65输出格式:74070include <stdio.h>void main() int aznjzt;long int sum=0;scanf(,%d%d,l,&a/&n);t=a;for(i=l;i<=n;i+)sum=sum+t;t=t*10+a;printf("%d=sum);)5.15 已知函数头为void avg(void),函数avg的功能: 输入10个分数(浮点型),去掉最
21、高分和最低分,求平均 分,保留一位小数。编写main函数并调用函数avg。输入格式:0123456789输出格式:4.5include <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)/B; printf(,%.lfn,za
22、ver);5.16 根据用户输入的正整数n,求1- 1/2 + V3 - 1A +.+ &l)A(n+l)/n的值。保留两位小数。输入格式:2输出格式:0.50include <stdio.h>void main()int i,flag=l,n;double sum = 0;scanf(”d”,&n);for (i=l;i<=n;i+)sum +=1.0/i*flag;flag=-flag;printf(',%.2fn,/sum);5.21 输入n,求l! + 2! + 3!+. + n!的值。输入格式:10输出格式:4037913#include&l
23、t;stdio.h>int main(void)int sum=0,i/n,s=l;scanf("%d",&n);for(i=l;i<=n;i+)(s*=i;sum+=s;)printf(,%dn,/sum);5.22 根据用户输入的正整数n,求1 + M + +加+ 1的+的前n项之和。保留两位小数。输入格式:2输出格式:3.50include <stdio.h> void main(void) (int a = 1, b = 2, c, i, n;double d,sum=0;scanf(”d”,&n);for(i = 1; i
24、<= n; i+) d=l.*b/a;sum+=d;c = a + b;a = b;b = c;printf(“.2f”,sum); 5.23 根据用户输入的正整数n,求1-羽+券-47 +於- “11 +的前n项之和。保留两位小数。输入格式:输出格式:0.33#include<stdio.h>int main(void)(int i, n,flag=l;double sum=0;scanf("%d",&n);for(i=l;i<=n;i+)sum+=flag*1.0*i/(2*i-l);flag=-flag;)printf(,%.2fn,s
25、um);return 0;)5.24 根据用户输入的正整数n,求数列1, 2, 3, 5, 8, 13, 21, 34,.中第n项的值。输入格式:25输出格式:121393include <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(,%dn,/ c);return 0;5.25 输入一行字符,统计其中英文字母、数字字符、空 格和其他字符的个数。输入格式:kf 3f5;p
26、0 8d?A输出格式:5424include <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+
27、;elseothers+;scanf("%c",&c);printf(n%d %d %d %dn,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=Lc=2,d,n;scanf(”%d”,&n);for(i=4;i<=n;i+)d=a+b+c;a=b;b=c;c=d;printf ("%dn",
28、d);5.31 输入若干整数,以-1结束,去掉最大值和最小值, 求平均值,保留一位小数。输入格式:13 5 79-1输出格式:5.0include <stdio.h>void main ()(int score;double sum=0,n=0zavg/max/min/b;scanf(,%d"/&score);max=min=b=score;while(score!=-l)if(score>max)max=score;if(score<min)min=score;sum+=score;n+;scanf(,%d,&score);avg=(sum-
29、max-min)/(n-2);printf(',%.lfn,avg);5.32 输入两个正整数,求最大公约数。输入格式:15 5输出格式:5ffindude <stdio.h>int main (void ) int i,m, nz temp,maxgy;scanf ("%d%d) &m, &n);if(m>n) temp=m;m=n;n=temp; for(i=m;i>=l;i-)if(m%i=0&&n%i=0) maxgy=i;break; printf(,%dn,maxgy);return 0;5.33 输入两个正
30、整数,求最小公倍数。输入格式:5 15输出格式:15ffindude <stdio.h>int main (void ) int i,m, nz temp,maxgy;scanf (,%d%dH, &m, &n);if(m<n) temp=m;m=n;n=temp; for(i=m;i+)if(i%m=O&&i%n=O) maxgy=i;break; printf(,%dn,maxgy);return 0;5.34 输入一个正整数n,求n是几位数。输入格式:1357输出格式:4ffindude <stdio.h>main(void)
31、int n, sum = 0,k=0;scanf("%d", &n);while (n)n /= 10;k+;)printf("%dn", k);)5.35 输入一个正整数n,判断n是否为回文数。所谓回 文数,是从左到右读这个数和从右到左读这个数是一样 的。例如,98789是回文数。如果是,输出“yes”;如果不 是,则输出“no”。输入格式:135797531输出格式:Yesinclude <stdio.h>main(void) int nm, sum = 0,k=0;scanf(,%dl,/ &n);m=n;while (
32、m)sum = sum*10 + m%10;m /= 10;if (sum=n)printff'yes");elseprintf("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=l;j<=abs(i);j+)printf("");for(j=l;j<
33、;=n-2*abs(i);j+) printf("*");printf("n");)6.11 输入10个数到数组t中,求最小值及最小值在数组 t中的下标。输入格式:9753102468输出格式:05include <stdio.h>void main()int x10,i,minJk;for(i=0;i< 10;i+)scanf("%d",&xi);min=x0;k=0;for(j=l;j< 10;j+)if(min>xj) min=xj;k=j; printf("%d %dn,/min
34、/k);6.12 输入10个数到数组t中,再输入x,如果有与x相 等的数组元素,输出该数组元素的下标;否则,输出-1。输入格式:97531024685输出格式:2include <stdio.h>void main() int t10 jx,flag=0;for(i=0;i< 10;i+)scanf("%d",&ti);scanf("d”,&x);for (i=0;i<10;i+)if(x=ti)flag=l;printf(,%d,/ i);break;)if(flag=O) printf(,-lH);)6.13 输入10个
35、整数到数组t中,按升序排序,输出下标 为6的数组元素。输入格式:9753102468输出格式:6#include<stdio.h>int main(void)(intfor(i=0;i<10;i+)scanf("%d",&ti);for(i=l;i<10;i+)for(j=0;j<10-i;j+)temp=tj;tj=tU+i;tj+l=temp;)printf("%d"zt6);return 0;)6.14 输入九个整数到数组t中数组长度为奇 数,将数组t中的数组元素倒置,输出倒置以后下标为 5的数组元素。例如,数
36、组t中九个数组元素依次为2、 4、6、8、9、7、5、3、1,倒置以后九个数组元素依次 为1、3、5、7、9、8、6、4、2,下标为5的数组元素 为8。已知变量声明和数组声明为“inti,要 求不再声明其他的变量或数组。输入格式:975312468输出格式:3#include<stdio.h>int main(void)intfor(i=0;i<9;i+)scanf("%d",&ti);for(i=0;i<9/2;i+)(tmp=ti;ti=t8-i;t8-i=tmp;printf("dn”,t5);return 0;6.15 求3
37、行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 ,max;for(i=0;i<3;i+)for(j=0;j<5;j+)scanf("%d",&tij);max=t03;for(i=l;i<3;i+)if(max>=ti3)max=ti3;printf(,%dl,/max);return 0;6.16 求3行5列二
38、维数组中的最小值,及最小值在数组 中的行号和列号,并输出。输入格式:315798642013-131输出格式:-12 2#include<stdio.h>int main(void) int ijt35Lmax,m,n;for(i=0;i<3;i+)for(j=0;j<5;j+)max=t00;for(i=0;i<3;i+)for(j=0;j<5;j+)if(max>tij)max=tij; m=i; n=j;printf(H%d %d %d”,max,m,n);return 0;6.21 输入10个数到数组t中,求最大值及最大值在数组 t中的下标。输
39、入格式:9753102468输出格式:90#include<stdio.h>void main()(int i,a,m,t10Lmax;for(i=0;i<10;i+)scanf("%d",&ti);max=t0;a=0;for(m=l;m<10;m+)if(max<tm)max=tm;a=m; printf(M%d %d”,max,a);6.22 输入10个整数到数组t中,按降序排序,输出下标 为5的数组元素。输入格式:9753102468输出格式:4void main()(int abk,t10;for(a=0;a<10;a+
40、)scanf("%d",&ta);for(a=l;a<10;a+)for(b=0;b<10-a;b+) if(tb<tb+U) (k=tb;tb=tb+l; tb+l=k;)primf(“d”,t5);6.23 输出数组s中字符串的子串,子串从sbegin开始 长度为len。char s80;int begin, len;gets(s);scanf("%d%d", &begin, &len);输入格式:how do you do?49输出格式:do you doint main(void)char s80;int
41、 i,begin, len;gets(s);scanf(,l%d%dl,/ &begin, &len);for(i=begin;i<begin+len;i+)printf("%c",si);return 0;6.24 输入6个整数到数组t中,求最小值。输入格式:975310输出格式:0#include<stdio.h>int main(void)int a6J,min;scanf("%d”,&a0);min=a0;for(i=l;i<6;i+)scanf("d”,&ai);min=(min<a
42、i)?min:ai;)printf(,%dn,l,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。 已知变量声明和数组声明为要求不 再声明其他的变量或数组。输入格式:9753102468输出格式:1#include<stdio.h>int main(void)(int temp;for(i=0;i<10;i+)sca
43、nf("%d",&ti);for(i=0;i<10/2;i+)(temp=ti;ti=t10-l-i;t10-l-i=temp;)printf(,%dn,t5);return 0;)6.26 已知数组声明为"int a10 = 0, 10, 20, 30, 40, 50, 60, 70, 80, 90;”,10个数组元素是按升序排列的。输入 一个整数n,如果没有与n相等的数组元素,输出-1; 否则,删除与n相等的数组元素,要求剩余的九个数组 元素是按升序排列的,输出下标为6的数组元素。输入格式:100输出格式:-1#include<stdio.
44、h>int main(void) int a10=0,10, 20, 30, 40, 50, 60, 70, 80, 90);int njzflag=l;scanf(”%d”,&n);for(i=0;i<10;i+)if(n=ai) flag=O; break; if(flag=l)printf("-ln");else for(;i<10;i+) ai=ai+l;printf("dn”,a );)return 0;631求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 ijt ,max;for(i=0;i<3;i+)for(j=0;j<5;j+) scanf("%d",&tij); max=t03;for(i=l;i<3;i+)if(max<=ti3)max=ti3;printf(,%dn,max);return 0;6.32 判断数组s中的字符串是不是回文。一个字符
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 品牌核心价值的建立试题及答案
- 监狱法及试题答案
- 如何在纺织考试中进行高效记忆试题及答案
- 广告设计师商业价值评估试题及答案
- 知识点梳理纺织设计师试题及答案
- 公司应聘测试题及答案
- 助理广告师考试2024年潜力挖掘试题及答案
- 2024年中国纺织行业的生态转型试题及答案
- 2024年设计师考试作品创作流程概述试题及答案
- 2024年纺织品设计中的市场反馈考题及答案
- 拨叉加工工艺及夹具设计毕业设计
- (高清版)TDT 1015.1-2024 地籍数据库 第1部分:不动产
- 幼小衔接 每日一练
- 哈尔滨市木兰县文职辅警招聘考试真题
- 室上速心动过速治疗
- 铸就数字坚盾:网络安全技术智慧树知到期末考试答案章节答案2024年青岛工学院
- 芦丁鸡怎么养
- 幽门螺杆菌预防措施及治疗
- MOOC 近世代数-南京大学 中国大学慕课答案
- 烟草行业安全风险分级管控和事故隐患排查治理双重预防机制
- 毕业设计论文《10t单梁桥式起重机的设计》
评论
0/150
提交评论