1、C语言平台答案1: 求1到n的累加和 (10分)输入一个整数n,求1+2+3+n的累加和。输入格式:输入一个整数。输出格式:输出1n的累加和。输入样例:在这里给出一组输入。例如:5输出样例:在这里给出相应的输出。例如:15#includemain() int i,n,t; scanf(%d,&n); t=0; for(i=1;i=n;i+) t=t+i; printf(%d,t);2:求三角形面积 (10分)输入三角形的三边长,求其面积。输入格式:在一行中输入能够构成三角形的3个实数,3个数之间用逗号间隔。输出格式:对每一组输入,在一行中输出面积值,结果保留两位小数,没有附加字符。输入样例:3
2、,3,3输出样例:#include #includemain() float a,b,c,s,w; scanf(%f,%f,%f,&a,&b,&c); w=(a+b+c)/2; s=sqrt(w*(w-a)*(w-b)*(w-c); printf(%.2fn,s); 3:分段函数1 (12分)计算分段函数,测试数据分别是-2、3、7。输入格式:输入一个数输出格式:输出x=多少,y=多少,输出的x和y值均保留两位小数输入样例:-3输出样例:x=,y=#include #include main() float x,y; scanf(%f,&x); if(x5) y=sin(x)+5; else
3、y=2*x+1; printf(x=%.2f,y=%.2f,x,y);4:斐波那契(Fibonacci)数列前20项。#includemain() long int a20=1,1; int i; for(i=2;i20;i+) ai=ai-1+ai-2; for(i=0;i20;i+) printf(%8d,ai);5:求 1-3+5-99+101 的值。#include#includemain() int i,n,s; i=1; s=1; for(n=1;n=100;n=n+2) s=s+pow(-1,i+)*n; i+; printf(s=%d,s);6:求1*2+2*3+20*21的值
4、。#includemain() int i,n,t; n=0; for(i=1;i=10;i+) k+=1; t*=10; s=n; for(i=1;i=k;i+) s=n/nc; ni=s%10; sum+=ni; nc*=10; printf(%d,sum);8:辗转相除法求最大公约数。#includemain() int n,r,m; scanf(%d,%d,&m,&n); r=m%n; while(r!=0) m=n; n=r; r=m%n; printf(gcd=%dn,n);9:猜算式2*7=3848中的数字 (10分)算式:2*7=3848中缺少一个十位数和一个个位数。编程求出使
5、该算式成立时的这两个数,并输出正确的算式。输出格式:在一行中输出A2*B7=C的值。#include main() int i,j,A,B; for(i=1;i=9;i+) A=i*10; for(j=1;j=9;j+) B=j; if(3848=(A+2)*(B+70) printf(%d2*7%d=3848,i,j); 10:输出各位数字之和能被15整除的所有数 (10分)输出100到1000之间的各位数字之和能被15整除的所有数,输出时每5个一行,每个数输出占4列列宽。输出格式:在每行中输出5的满足要求的数值,每个数输出占4列列宽。#includemain() int n,i=0,a,b
6、,c,m; for(n=100;n=999;n+) a=n/100; b=n/10%10; c=n%10; m=a+b+c; if(m%15=0) printf(%4d,n); i+; if(i%5=0) printf(n); 11:求1!+3!+5!+n! (10分)求1!+3!+5!+n!的和,要求用循环嵌套设计,n12。输入格式:输入在一行中给出一个不超过12的正整数n。输出格式:在一行中按照格式“n=n值,s=阶乘和”的顺序输出,其中阶乘和是正整数。#include main() int i,t,n,k=1,s=0; scanf(%d,&n); if(n12) for(i=1;i=n;
7、i+=2) for(t=1;t=i;t+) k=t*k; s=k+s; k=1; printf(n=%d,s=%d,n,s);12:打印等腰三角形图形 $ $ $ $ $ 第一行图形符号前面有4个空格。输出格式:以等腰三角形的格式输出5行由$符号构成的三角图形,每个$符号占固定1位,第一行$符号前有4个空格。#include main() int i,j; for(i=1;i=5;i+) for(j=1;j=5-i;j+) printf( ); for(j=1;j=2*i-1;j+) printf($); printf(n); 13:打印倒直角三角形图形 (10分)请编程序打印如下图形。 $
8、$ $ $ $ 第一行图形符号前面有1个空格。输出格式:以倒直角三角形的格式输出5行由$符号构成的三角图形,每个$符号占固定1位,第一行第一个$符号前有1个空格。#include main() int i,j; for(i=1;i=5;i+) for(j=1;j=i;j+) printf( ); for(j=1;j=6-i;j+) printf($); printf(n); 14:打印平行四边形图形 (10分)请编程序打印如下图形。 $ $ $ $ $ 第一行图形符号前面有1个空格输出格式:以平行四边形的格式输出5行由$符号构成的图形,每个$符号占固定1位,第一行第一个$符号前有1个空格。#i
9、nclude main() int i,j; for(i=1;i=5;i+) for(j=1;j=i;j+) printf( ); for(j=1;j=5;j+) printf($); printf(n); 15:打印出如下图案(菱形) * * * * * *第一行图形符号前面有5个空格输出格式:以菱形的格式输出7行由乘号构成的图形,每个乘号占固定1位,第一行乘号前有5个空格。#includemain() int i,j; for(i=1;i5;i+) for(j=1;j=6-i;j+) printf( ); for(j=1;j=2*i-1;j+) printf(*); printf(n);
10、for(i=1;i4;i+) for(j=1;j=i+2;j+) printf( ); for(j=1;j=7-2*i;j+) printf(*); printf(n); 16:打印直角九九乘法表 (10分)输出直角九九乘法口诀,输出效果如样例。输出格式:以左下直角的格式输出九九乘法表,每个式子按“a*b=c”形式输出,其中a和b各占1位列宽,c占3位列宽并左对齐。输出样例:1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*
11、3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 #includemain() int i,j; for(i=1;i=9;i+) for(j=1;j=1&n12) for(i=1;i0;i+) s=s+a; if(a=80&a90) n+; scanf(%d,&a);
12、 ave=s*i; printf(ave=%,n=%d,ave,n); 19:3个数字构数 (10分)用0-9之间不同的3个数构成一个3位数,统计出共有多少种方法。输出格式:按照“count=结果”格式输出,结果为整数,不加宽度控制。#includemain() int count,i,n=0,a,b,c; for(i=100;i=1e-6) sum=sum+s; p=-p; k=k+2; s=p*k; sum=sum*4; printf(pi= %.4f,sum); 21:统计两整数间被3整除数的个数 (10分)输入两个整数,n1,n2(要求n1n2),统计两整数范围内被3整除的数的个数。输
13、入格式:在一行输入2个整数。两个整数之间用一个空格间隔输出格式:按照“a=n1,b=n2,n=个数”的顺序输出。其中n1、 n2和个数的输出格式均为原样输出,不加宽度控制。#includemain() int i,n1,n2,n=0; scanf(%d%d,&n1,&n2); if(n1n2) for(i=n1;i0) s=0;k=n; while(k!=0) t=k%10; s=s+t*t; k=k/10; if(n0) n=fabs(n); s=0;k=n; while(k!=0) t=k%10; s=s+t*t; k=k/10; printf(sum=%d,s); return 0;23
14、:交换a和b的值 (10分)交换变量a,b的值,如输入a的值为1,b的值为5,则输出a的值为5,b的值为1。输入格式:输入两个整数,之间用一个空格间隔。输出格式:在一行中按照“a=x,b=y”的格式输出,其中x和y均是原样输出,不加宽度控制。#include main() int a,b,t; scanf(%d%d,&a,&b); t=a; a=b; b=t; printf(a=%d,b=%d,a,b);24:华氏温度转化为摄氏温度 (10分)将华氏温度转化为摄氏温度(下式中c表示摄氏温度,f表示华氏温度)。 c=5/9 (f-32)输入格式:直接输入一个实数,没有其它任何附加字符。输出格式:
15、在一行中按照“c=结果”的顺序输出,结果为保留2位小数的实数,没有其它任何附加格式控制。#include main() float f,c; scanf(%f,&f); printf(c=%.2f,c=5*(f-32)/9);25:求n!#includemain() int n,t,i; t=1; scanf(%d,&n); for(i=1;i=n;i+) t=t*i; printf(%d,t); 26:10个数的最大值#includemain() int max,i,n; for(i=1;i=max) max=n; printf(max=%d,max); 27:1,40能被3整除的数#inc
16、ludemain() int n; for(n=1;n=40;n+) if(n%3=0) printf(%4d,n);28:1,100能被3整除的数的和#includemain() int n,t; t=0; for(n=1;n=100;n+) if(n%3=0) t=t+n; printf(%4d,t);29:1,100能被3整除的数的个数#includemain() int n,t; t=0; for(n=1;n=100;n+) if(n%3=0) t+; printf(%d,t);30:求1到6的阶乘的和.#includemain() int i,n=1; float s=0; for(
17、i=1;i=6;i+) n=n*i; s=s+n; printf(jiecheng=%.6f,s);31输入10个无序的整数,用选择法对10个整数按升序排序。注意:要求排序只排3轮。#includemain() int a10; int i,b,min,j,k; for(i=0;i10;i+) scanf(%d,&ai); for(i=0;i3;i+) k=i; for(j=i+1;j10;j+) if(ajak) k=j; if(k!=i) b=ai; ai=ak; ak=b; for(i=0;i10;i+) printf(%5d,ai);32对n个整数组成的一维数组按逆序重新存储并输出(n
18、10)。#includemain() int a80,b80; int i,n; scanf(%d,&n); for(i=0;in;i+) scanf(%d,&ai); for(i=0;in;i+) bi=an-i-1; printf(%4d,bi); return 0;33:对n个整数组成的一维数组用顺序法按从小到大排序后输出(4n4&n10) for(i=0;in;i+) scanf(%d,&ai); for(i=0;i3;i+) k=i; for(j=1+i;jn;j+) if(ajak) k=j; if(k!=i) t=ai; ai=ak; ak=t; for(i=0;in;i+) p
19、rintf(%5d,ai); return 0; 34:在一维数组中有10个整数,求出其中能被5整除的所有数的和。#includemain() int a10,s=0,i; for(i=0;ia9) a10=num; else for(i=0;i10;i+) if(num=i;j-) aj+1=aj; ai=num; break; for(i=0;i11;i+) printf(%5d,ai);36: 有一数组内放5个整数,要求找出第一次出现的最小数和它的下标,然后把它和数组中最前面的元素即第一个数对换位置。#includemain() int a5; int i,min,t,p; for(i=
20、0;i5;i+) scanf(%d,&ai); min=a0; for(i=0;i5;i+) if(aimin) min=ai; p=i; t=a0; a0=ap; ap=t; for(i=0;i5;i+) printf(%4d,ai); printf(n); printf(min=%d,weizhi=%d,min,p); 37: 产生并输出如下形式的方阵。1 2 2 2 2 2 13 1 2 2 2 1 43 3 1 2 1 4 43 3 3 1 4 4 43 3 1 5 1 4 43 1 5 5 5 1 41 5 5 5 5 5 1#includemain() int a77; int i,j; for(i=0;i7;i+) for(j=0;j7;j+) if(i=j|j+i=6) aij=1; if(ij&i+j6) aij=2; if(i6) aij=4; if(ij&i+j6) aij=5; if(ij&i+j6) aij=3; fo
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1