1、1: 求1到n的累加和 (10分)输入一个整数n,求1+2+3+n的累加和。输入格式:输入一个整数。输出格式:输出1n的累加和。输入样例:在这里给出一组输入。例如:5输出样例:在这里给出相应的输出。例如:15#includestdio.hmain()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,3,3输出
2、样例:3.90#include stdio.h#includemath.hmain()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=-3.00,y=2.00#include stdio.h#include math.hmain()float x,y;scanf(%f,&x);
3、if(x5) y=sin(x)+5;else y=2*x+1;printf(x=%.2f,y=%.2f,x,y);4:斐波那契(Fibonacci)数列前20项。#includestdio.hmain()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 的值。#includestdio.h#includemath.hmain()int i,n,s;i=1;s=1;for(n=1;n=100;n=n+2)s=s+pow(-1,i+)*n;i+;prin
4、tf(s=%d,s);6:求1*2+2*3+20*21的值。#includestdio.hmain()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:辗转相除法求最大公约数。#includestdio.hmain()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分)算式:?
5、2*7?=3848中缺少一个十位数和一个个位数。编程求出使该算式成立时的这两个数,并输出正确的算式。输出格式:在一行中输出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列列宽。#inclu
6、destdio.hmain()int n,i=0,a,b,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(n1
7、2)for(i=1;i=n;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个空格。#include
9、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个空格。#includestdio.hmain()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);for(i=1;i4;i+)fo
10、r(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*3=18 6*4=24 6*5=30 6*6
11、=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 #includestdio.hmain()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);ave=s*1.0/i;printf(ave=
12、%0.2f,n=%d,ave,n);19:3个数字构数 (10分)用0-9之间不同的3个数构成一个3位数,统计出共有多少种方法。输出格式:按照“count=结果”格式输出,结果为整数,不加宽度控制。#includestdio.hmain()int count,i,n=0,a,b,c;for(i=100;i=1e-6)sum=sum+s;p=-p;k=k+2;s=p*1.0/k;sum=sum*4;printf(pi= %.4f,sum);21:统计两整数间被3整除数的个数 (10分)输入两个整数,n1,n2(要求n1n2),统计两整数范围内被3整除的数的个数。输入格式:在一行输入2个整数。两个
13、整数之间用一个空格间隔输出格式:按照“a=n1,b=n2,n=个数”的顺序输出。其中n1、 n2和个数的输出格式均为原样输出,不加宽度控制。#includestdio.hmain()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:交换a和b的值 (10分)交换变量a,b的值,如输
14、入a的值为1,b的值为5,则输出a的值为5,b的值为1。输入格式:输入两个整数,之间用一个空格间隔。输出格式:在一行中按照“a=x,b=y”的格式输出,其中x和y均是原样输出,不加宽度控制。#include stdio.hmain()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)输入格式:直接输入一个实数,没有其它任何附加字符。输出格式:在一行中按照“c=结果”的顺序输出,结果为
15、保留2位小数的实数,没有其它任何附加格式控制。#include stdio.hmain()float f,c;scanf(%f,&f);printf(c=%.2f,c=5*(f-32)/9);25:求n!#includestdio.hmain()int n,t,i;t=1;scanf(%d,&n);for(i=1;i=n;i+)t=t*i;printf(%d,t);26:10个数的最大值#includestdio.hmain()int max,i,n;for(i=1;i=max)max=n;printf(max=%d,max);27:1,40能被3整除的数#includestdio.hmain
16、()int n;for(n=1;n=40;n+)if(n%3=0)printf(%4d,n);28:1,100能被3整除的数的和#includestdio.hmain()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整除的数的个数#includestdio.hmain()int n,t;t=0;for(n=1;n=100;n+)if(n%3=0)t+;printf(%d,t);30:求1到6的阶乘的和.#includestdio.hmain()int i,n=1;float s=0;for(i=1;i=
17、6;i+)n=n*i;s=s+n;printf(jiecheng=%.6f,s);31输入10个无序的整数,用选择法对10个整数按升序排序。注意:要求排序只排3轮。#includestdio.hmain()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个整数组成的一维数组按逆序重新存储并输出(n10)。#inc
18、ludestdio.hmain()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+)printf(%5d,ai);return 0
19、; 34:在一维数组中有10个整数,求出其中能被5整除的所有数的和。#includestdio.hmain()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个整数,要求找出第一次出现的最小数和它的下标,然后把它和数组中最前面的元素即第一个数对换位置。#includestdio.hmain()int a5;int i,min,t,p;for(i=0;i5;i+)scanf(%
20、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#includestdio.hmain()int a77;int i,j;for(i=0;i7;i+)for(j
21、=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; for(i=0;i7;i+) for(j=0;j7;j+) printf(%2d,aij); printf(n); 39: 将一个33矩阵转置(即行和列互换)。#includestdio.hmain()int b9,a33;int i,j;for(i=0;i9;i+)scanf(%d,&bi);for(j=0;j3;j+)for(i=0;i3;i+) aji=bj+i*3;printf(%4d,
22、aji);printf(n);40: 打印n行杨辉三角,n10。#includestdio.hmain()int i,j,n;int a3131=0;scanf(%d,&n);for(i=0;in;i+)for(j=0;j=i;j+)if(j=0|j=i) aij=1;else aij=ai-1j-1+ai-1j;for(i=0;in;i+) for(j=0;j=a&ai=A&ai=0&ai=9) c+;if(ai= ) d+;printf(小写字母=%dn,p);printf(大写字母=%dn,b);printf(数字=%dn,c);printf(空格=%dn,d);43: 从键盘输入一个字
23、符串,再输入两个整数m和n,将字符串从下标为m的字符开始的n个字符复制到另一个字符数组中。#includestdio.hmain()char s120,s220;int i,n,m,j=0;gets(s1);scanf(%d%d,&m,&n);for(i=m;in+m;i+)s2j=s1i;j+;s2j=0; puts(s2);44: 将一个字符串中的字符逆序存放。如字符串为“abcde,则逆序存放后应为edcba。#includestdio.h#includestring.hmain()char s180,s280;int i,k;gets(s1);k=strlen(s1);for(i=0;
24、s1i!=0;i+)s2i=s1k-1-i;s2i=0;puts(s2);45: 将一个字符串中的所有数字字符删掉。#includestdio.hmain()char a80,b40;int i,j=0;gets(a);for(i=0;ai!=0;i+)if(ai9)bj=ai; j+; bj=0;puts(b);46: 删除字符串中的指定字符,字符串和要删除的字符均由键盘输入。#includestdio.hmain()char a80,b40,c;int i,j=0;gets(a); c=getchar();for(i=0;ai!=0;i+)if(ai!=c)bj=ai; j+; bj=0;
25、puts(b);47: 将一个字符串中的前n个字符复制到一个字符数组中去,n值小于字符串实际长度,不许使用strcpy函数。#includestdio.hmain()char s180,s280;int i,n;gets(s1);scanf(%d,&n);for(i=0;in;i+)s2i=s1i;s2i=0; puts(s2);48: 打印水仙花数。水仙花数是一个三位数,其各位数字的立方和与原数相等。#includestdio.hmain()int i,n,a,b,c;for(i=100;i=999;i+)a=i%10;b=i/10%10;c=i/100;n=a*a*a+b*b*b+c*c*
26、c;if(n=i)printf(%5d,i);printf(n);49: 编程求出120之间的奇数之和,偶数之积。#includestdio.hmain()int s=0,i;double t=1;for(i=1;i=20;i+)if(i%2=0)t=t*i;elses=s+i;printf(s=%d,t=%.0lf,s,t);50: 统计100以内的各位数字之和为5的自然数的个数。#includestdio.hint main(void)int n,s,k,count=0;for(n=1;n1)for(i=2;in;i+)if(n%i=0) break;if(n=i) printf(YES)
27、;else printf(NO);52: 编程求出大于m的最小素数。#includestdio.h#includemath.hmain()int m,i,k=0,x;scanf (%d,&m);for (i=m+1;k=0;i+)for (x=2;xsqrt(i) k=1; printf (%d,i); 53: 求 Sna+aa+aaa+.+aa.a之值,其中a是一个数字。例如: 2+22+222+2222(此时n4),n由键盘输入。#includestdio.hmain()int a,n,sn=0,i,t;scanf(a=%d,n=%d,&a,&n);t=a;for(i=1;i=n;i+)s
28、n=sn+a; a=a*10+t;printf(%d,sn);54: 求出以下分数序列的前20项之和。#includestdio.hmain()int a=1,b=2,n,t;double s=0;for(n=1;n=20;n+)s=s+b*1.0/a;t=b; b=a+t; a=t;printf(%.2f,s);55: 输入一个年份,判断其是否为闰年,若是闰年输出“yes”的信息,否则输出“no”的信息。#includestdio.hmain()int a;scanf(%d,&a);if(a%4=0&a%100!=0|a%400=0)printf(yes);else printf(no);56: 任意输入10个整数,求其中偶数之积#includestdio.hmain()int a,i,s=1;for(i=1;i=10;i+)scanf(%d,&a);if(a%2=0) s=s*a;