C语言平台答案_第1页
C语言平台答案_第2页
C语言平台答案_第3页
C语言平台答案_第4页
C语言平台答案_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1:求1到n累加和(10分)

输入一个整数n,求1+2+3+……+n累加和。

输入格式:输入一个整数。

输出格式:输出l~n累加和。

输入样例:在这里给出一组输入。比如:5

输出样例:在这里给出对应输出。比如:15

#include"stdio.h"

main()

int

scanf("%d"/&n);

t=0;

for(i=l;i<=n;i++)

t=t+i;

printf("%d",t);

2:求三角形面积(10分)

输入三角形三边长,求其面积。

输入格式:在一行中输入能够组成三角形3个实数,3个数之间用逗号间隔。

输出格式:对每一组输入,在一行中输出面积值,结果保留两位小数,没有附加字符。

输入样例:3,3,3

输出样例:3.90

#include"stdio.h"

#include"math.h"

main()

(

floata,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("%.2f\n",s);

}

3:分段函数1(12分)

计算分段函数,测试数据分别是-2、3、7。

1x+l[x<0

f=<2x+l0&W5

sinx+5x>5

I

输入格式:输入一个数

输出格式:输出*=多少,y=多少,输出x和y值均保留两位小数

输入样例:-3

输出样例:x=-3.00,y=2.00

include"stdio.h"

include"math.h"

main()

(

floatx,y;

scanf("%f'z&x);

if(x<0)y=fabs(x+l);

elseif(x>5)y=sin(x)+5;

elsey=2*x+l;

printf("x=%.2ty=%.2f"/x/y);

)

4:斐波那契(Fibonacci)数列前20项。

#include"stdio.h"

main()

(

longinta[20]={l,l};

inti;

for(i=2;i<20;i++)

a[i]=a[i-l]+a[i-2];

for(i=0;i<20;i++)

printf(”%8d”,a[i]);

)

5:求l・3+5........-99+101值。

#include"stdio.h"

#include"math.h"

main()

(

inti,n,s;

i=l;

s=l;

for(n=l;n<=100;n=n+2)

s=s+pow(-l,i++)*n;

i++;

printf("s=%d"/s);

}

6:求l*2+2*3+-+20*21值。

#include"stdio.h"

main()

inti,nzt;

n=0;

for(i=l;i<=20;i++)

(

t=i*(i+l);

n=n+t;

)

printf("%d",n);

)

7:各位数字之和(10分)

求任一正整数各位数字之和。

输入格式:输入一个正整数。

输出格式:输出整数各个位数字之夭口结果。

#include"stdio.h"

main()

inti,k=lzn,s/nc=l/ni,sum=O;

scanf("%d",&n);

intjzt=l;

for(i=l;n/t>=10;i++)

(

k+=l;

t*=10;

}

s=n;

for(i=l;i<=k;i++)

(

s=n/nc;

ni=s%10;

sum+=ni;

nc*=10;

)

printf(”%d,sum);

}

8:辗转相除法求最大条约数。

#include"stdio.h"

main()

{

intnjm;

scanf("%d,%d",&m,&n);

r=m%n;

while(r!=O)

(

m=n;

n=r;

r=m%n;

)

printf("gcd=%d\n",n);

}

9:猜算式?2*7?=3848中数字(10分)

算式:?2*7?=3848中缺乏一个十位数和一个个位数。编程求出使该算式成立时这两个数,

并输出正确算式。

输出格式:在一行中输出A2*B7=C值。

include<stdio.h>

main()

(

inti,j,A,B;

for(i=l;i<=9;i++)

(

A=i*10;

for(j=l;j<=9;j++)

(

B=j;

jf(3848==(A+2)*(B+70))

,,

printf(%d2*7%d=3848"/ij);

)

)

)

10:输出各位数字之和能被15整除全部数(10分)

输出100到1000之间各位数字之和能被15整除全部数,输出时每5个一行,每个数输出

占4列列宽。

输出格式:在每行中输出5满足要求数值,每个数输出占4列列宽。

#include"stdio.h"

main()

{

intn,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:求l!+3!+5!+.....+n!(10分)

求l!+3!+5!+....+n!和,要求用循环嵌套设计,n<12o

输入格式:输入在一行中给出一个不超出12正整数no

输出格式:在一行中按照格式“n=n值,s=阶乘和"次序输出,其中阶乘和是正整数。

include<stdio.h>

main()

inti,t,n,k=lzs=O;

scanf("%d"#&n);

if(n<12)

{for(i=l;i<=n;i+=2)

(

for(t=l;t<=i;t++)

k=t*k;

s=k+s;

k=l;

)

printf("n=%d,s=%d",n,s);}

)

12:打印等腰三角形图形

$

$$$

$$$$$

$$$$$$$

$$$$$$$$$

第一行图形符号前面有4个空格。

输出格式似等腰三角形格式输出5行由节“符号组成三角图形,每个夕符号占固定1位,第

一行””符号前有4个空格。

ttinclude<stdio.h>

main()

{

intij;

for(i=l;i<=5;i++)

(

for(j=l;j<=5-i;j++)

printff"");

for(j=l;j<=2*i-l;j++)

printf("$");

printfC'Xn");

13:打印倒直角三角形图形(10分)

请编程序打印以下列图形。

$$$$$

$$$$

$$$

$$

$

第一行图形符号前面有1个空格。

输出格式:以倒直角三角形格式输出5行由节”符号组成三角图形,每个节”符号占固定1位,

第一行第一个巧'符号前有1个空格。

#include<stdio.h>

main()

inti,j;

for(i=l;i<=5;i++)

(

for(j=l;j<=i;j++)

printf("");

for(j=l;j<=6-i;j++)

printf("$");

printf("\n");

)

)

14:打印平行四边形图形(10分)

请编程序打印以下列图形。

$$$$$

$$$$$

$$$$$

$$$$$

$$$$$

第一行图形符号前面有1个空格

输出格式:

以平行四边形格式输出5行由节”符号组成图形,每个节“符号占固定1位,第一行第一个节“

符号前有1个空格。

include<stdio.h>

main()

(

intij;

for(i=l;i<=5;i++)

(

for(j=l;j<=i;j++)

printf("");

for(j=l;j<=5;j++)

printf("$");

printfC'Xn");

}

15:打印出以下列图案(菱形)

*

***

*****

*******

*****

***

第一行图形符号前面有5个空格

输出格式:以菱形格式输出7行由乘号组成图形,每个乘号占固定1位,第一行乘号前有5

个空格。

#include"stdio.h"

main()

inti,j;

for(i=l;i<5;i++)

(

for(j=l;j<=6-i;j++)

printfC*");

for(j=l;j<=2*i-l;j++)

printf("*");

printf("\n");

)

for(i=l;i<4;i++)

(

for(j=l;j<=i+2;j++)

printf("");

for(j=l;j<=7-2*i;j++)

printf("*");

printf("\n");

)

}

16:打印直角九九乘法表(10分)

输出直角九九乘法口诀,输出效果如样例。

输出格式:以左下直角格式输出九九乘法表,每个式子按"a*b=c”形式输出,其中a和b各

占1位列宽,c占3位列宽并左对齐。

输出样例:

1*1=1

2*1=22*2=4

3*1=33*2=63*3=9

4*1=44*2=84*3=124*4=16

5*1=55*2=105*3=155*4=205*5=25

6*1=66*2=126*3=186*4=246*5=306*6=36

7*1=77*2=147*3=217*4=287*5=357*6=427*7=49

8*1=88*2=168*3=248*4=328*5=408*6=488*7=568*8=64

9*1=99*2=189*3=279*4=369*5=459*6=549*7=639*8=729*9=81

#include"stdio.h"

main()

(

intij;

for(i=l;i<=9;i++)

(

for(j=l;j<i+l;j++)

,

printf("%d*%d=%-3d/i,jj*j);

printf("\n");

)

)

17:求1!+2!+........+n!

#include"stdio.h"

main()

intn,s,i,m;

scanf("%d",&n);

s=l;

m=0;

if(n>=l&&n<12)

for(i=l;i<=n;i++)

(

s=s*i;

m=m+s;

)

printf("m=%d",m);

}

18:统计80到90分人数(10分)

输入若干学生成绩,以负数结束输入。计算全部学生平均成绩并统计成绩在80到90分(不

含90)之间人数。

输入格式:在一行输入几个百分制实型成绩,数据之间以一个空格间隔,输入负数结束输入。

输出格式:在一行中按照“2旷2=平均分,n=人数”次序输出结果,其中平均分要求保留两位

小数,人数是正整数。

#include"stdio.h"

main()

(

inta,i,s=O,n=O;

floatave;

scanf("%d",&a);

for(i=0;a>0;i++)

(

s=s+a;

if(a>=80&&a<90)

n++;

scanf(”%d”,&a);

)

ave=s*1.0/i;

printf("ave=%0.2f,n=%d",ave,ni;

}

19:3个数字构数(10分)

用0-9之间不一样3个数组成一个3位数,统计出共有多少种方法。

输出格式:按照“count=结果”格式输出,结果为整数,不加宽度控制。

#include"stdio.h"

main()

(

intcount,i,n=0,a,b,c;

for(i=100;i<=999;i++)

(

a=i%10;

b=i/10%10;

c=i/100;

if(a!=b&&b!=c&&a!=c)

n++;

)

printf("count=%d"/n);

}

20:Ji/4^1-l/3+l/5.......求打(10分)

用公式弘/4g1-1/3+1/5.......求Ji近似值,要求直到最终一项绝对值小于0.000001为止。

输出格式:按照“pi=结果”次序输出,其中结果输出格式宽度为10列,并保留4位小

#include"stdio.h"

#include"math.h"

main()

{

intp=l;

floatsum=0,s=l,k=l;

while(fabs(s)>=le-6)

(

sum=sum+s;

P=-P;

k=k+2;

s=p*1.0/k;

}

sum=sum*4;

printf("pi=%.4f"/sum);

)

21:统计两整数间被3整除数个数(10分)

输入两个整数,nl,n2(要求nl<n2),统计两整数范围内被3整除数个数。

输入格式:在一行输入2个整数。两个整数之间用一个空格间隔

输出格式:按照“a=nl,b=n2,n=个数”次序输出。其中nl,n2和个数输出格式均为原样输出,

不加宽度控制。

#include"stdio.h"

main()

(

inti,nl,n2,n=0;

scanf("%d%d",&nl,&n2);

if(nl<n2)

for(i=nl;i<=n2;i++)

if(i%3==0)

n++;

printf("a=%d/b=%d/n=%d"/nl/n2,n);

)

22:各位数字平方和(10分)

程序功效是输入一个长整数,求各位数字平方和s。假如输入是负数,求其相反数各位数字

平方和。比如:输入-123,输出14o

输入格式:直接输入一个长整数。

输出格式:按照“sum=s”格式输出,其中各位数字平方和s原样输出,不加宽度控制。

#include"stdio.h"

#include"math.h"

intmain(void)

(

intn,s,k,t;

scanf("%d",&n);

if(n>0)

s=O;k=n;

while(k!=O)

(

t=k%10;

s=s+t*t;

k=k/10;

)

if(n<0)

n=fabs(n);

s=O;k=n;

while(k!=O)

(

t=k%10;

s=s+t*t;

k=k/10;

)

printf("sum=%d"/s);

return0;

)

23:交换a和b值(10分)

交换变量a,b值,如输入a值为1,b值为5,则输出a值为5,b值为1。

输入格式:输入两个整数,之间用一个空格间隔。

输出格式:在一行中按照“a=x,b=y”格式输出,其中x和y均是原样输出,不加宽度控制。

#include"stdio.h"

main()

(

inta,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=结果”次序输出,结果为保留2位小数实数,没有其它任何附

加格式控制。

include"stdio.h"

main()

(

float£c;

scanf("%f",&f);

printf("c=%.2f"/c=5*(f-32)/9);

)

25:求n!

#include"stdio.h"

main()

intn,t,i;

t=l;

scanf("%d",&n);

for(i=l;i<=n;i++)

t=t*i;

printf("%d",t);

)

26:10个数最大值

#include"stdio.h"

main()

(

intmax,i,n;

for(i=l;i<=10;i++)

scanf(“%d”,&n);

if(n>=max)

max=n;

)

printf("max=%d",max);

)

27:[1,40]能被3整除数

#include"stdio.h"

main()

(

intn;

for(n=l;n<=40;n++)

if(n%3==0)

printf("%4d",n);

28:[1,100]能被3整除数和

#include"stdio.h"

main()

(

intn,t;

t=0;

for(n=l;n<=100;n++)

if(n%3==0)

t=t+n;

'"

printf(%4d"/t);

)

29:[1,100]能被3整除数个数

#include"stdio.h"

main()

intn,t;

t=0;

for(n=l;n<=100;n++)

if(n%3==0)

t++;

printf("%d",t);

)

30:求1到6阶乘和.

#include"stdio.h"

main()

(

inti,n=l;

floats=0;

for(i=l;i<=6;i++)

s=s+n;

)

printf("jiecheng=%.6f"/s);

)

31输入10个无序整数,用选择法对10个整数按升序排序。注意:要求排序只排3轮。

#include"stdio.h"

main()

(

inta[10];

inti,b,min,j,k;

for(i=0;i<10;i++)

scanf("%d"z&a[i]);

for(i=0;i<3;i++)

(

k=i;

for(j=i+l;j<10;j++)

if(a[j]<a[k])k=j;

if(k!=i)

b=a[i];

a[i]=a[k];

a[k]=b;

)

)

for(i=0;i<10;i++)

printf("%5d,a[i]);

)

32对n个整数组成一维数组按逆序重新存放并输出(n<10)。

#include"stdio.h"

main()

(

inta[80]zb[80];

inti,n;

scanf("%d",&n);

for(i=0;i<n;i++)

scanf("%d"z&a[i]);

for(i=0;i<n;i++)

(

b[i]=a[n-i-l];

printf("%4d",b[i]);

)

return0;

)

33:对n个整数组成一维数组用次序法按从小到大排序后输出(4<n<10),要求排序只排3

轮。

#include"stdio.h"

main()

(

inta[10];

inti,n,t,j,k;

scanf("%d",&n);

if(n>4&&n<10)

for(i=0;i<n;i++)

scanf(”%d”,&a[i]);

for(i=0;i<3;i++)

(

k=i;

for(j=l+i;j<n;j++)

if(aU]<a[k])k=j;

if(k!=i)

(

t=a[i];

a[i]=a[k);

a[k]=t;

)

)

for(i=0;i<n;i++)

printf("%5d",a[i]);

return0;

)

34:在一维数组中有10个整数,求出其中能被5整除全部数和。

#include"stdio.h"

main()

{

inta[10],s=0J;

for(i=0;i<10;i++)

(

scanf("%d,&a[i]);

if(a[i]%5==0)

s=s+a(i];

)

printf(”%d”,s);

}

35:在一个已按升序排列数组中插入一个数,插入后,数组元素仍按升序排列,已知升序数

组{1,2,4,6,8,9,12,15,149,156}<

#include"stdio.h"

main()

{

inta[ll]={l,2,4,6,8,9,12,15,149,156};

inti,num,j;

scanf("%d",&num);

if(num>a[9])

a[10]=num;

else

(

for(i=0;i<10;i++)

if(num<a[i]){

for(j=9;j>=i;j-)

a[j+l]=a[j];

a[i]=num;

break;

)

)

for{i=0;i<ll;i++)

printf(“%5d”,a[i]);

)

36:有一数组内放5个整数,要求找出第一次出现最小数和它下标,然后把它和数组中最前

面元素即第一个数对换位置。

#include"stdio.h"

main()

(

inta[5];

inti,min,t,p;

for(i=0;i<5;i++)

scanf(“%d”,&a[i]);

min=a[O];

for(i=0;i<5;i++)

(

if(a[i]<min)

(

min=a[i];

P=i;

)

)

t=a[O];

a[O]=a[p];

a[p]=t;

for(i=0;i<5;i++)

printf("%4d",a[i]);

printf("\n");

printf("min=%d,weizhi=%d",min,p);

37:产生并输出以下形式方阵。

1222221

3122214

3312144

3331444

3315144

3155514

1555551

#include"stdio.h"

main()

(

inta[7][7];

intij;

for(i=0;i<7;i++)

for(j=0;j<7;j++)

if(i==j||j+i==6)

if(i<j&&i+j<6)a川3=2;

if(i<j&&i+j>6)

if(i>j&&i+j>6)a[i]U]=5;

a[i]D]=3;

for(i=0;i<7;i++)

(

for(j=0;j<7;j++)

printf("\n");

)

}

39:将一个3X3矩阵转置(即行和列交换)。

#include"stdio.h"

main()

(

intb[9La[3][3];

intij;

for(i=0;i<9;i++)

scanf("%d"z&b[i]);

for(j=0;j<3;j++)

(

for(i=0;i<3;i++)

(

aO][i]=bU+i*3];

printf("%4d"/a[j][i]);

)

printf("\n");

)

40:打印n行杨辉三角,n<10。

#include"stdio.h"

main()

(

inti,j,n;

inta[31][31]={0};

scanf(”%d”,&n);

for(i=0;i<n;i++)

for(j=0;j<=i;j++)

(

if(j==O||j==i)a[i]U]=l;

elsea[i][j]=a[i-l][j-l]+a[i-l]O];

)

for(i=0;i<n;i++)

for(j=0;j<=i;j++)

printf("%4d",a[i][j]);

printf("\n");

)

return0;

)

41:连接两个字符串,不允许使用strcat函数。

#include"stdio.h"

#include"string.h"

main()

{

chara[20]zb[20];

intij;

gets(a);

gets(b);

i=0;

while(a[i]!='\O,)

i++;

j=0;

while(b[j]!='\O,)

(

a[i]=bU];

i++;

j++;

)

a[i]='\O';

puts(a);

)

42:分别统计一个字符串中出现小写字母、大写字母、数字和空格个数。

#include"stdio.h"

main()

chara[40];

inti,p=O,b=O,c=O,d=O;

gets(a);

for(i=0;a[i]!='\0';i++)

(

if(a[i]>='a'&&a[i]<=,z,)p++;

if(a(i]>=,A'&&a[i]<='Z,)b++;

if(a[i]>='0'&&a[i]<='9,)C++;

if(a[i]=='')d++;

)

printf(“小写字母=%d\n”,p);

printf("大写字母=%d\n”,b);

printf("数字=%d\n”,c);

printf("空格=%5己,可;

}

43:从键盘输入一个字符串,再输入两个整数m和n,将字符串从下标为m字符开始n个

字符复制到另一个字符数组中。

#include"stdio.h"

main()

(

charsl[20],s2[20];

inti,n,m,j=O;

gets(sl);

,

scanf("%d%d"/&m,&n);

for(i=m;i<n+m;i++)

(

s2[j]=sl[i];

j++;

)

s2U]='\0';

puts(s2);

}

44:将一个字符串中字符逆序存放。如字符串为"abcde",则逆序存放后应为“edcba”。

#include"stdio.h"

#include"string.h"

main()

(

charsl[80],s2[80];

inti,k;

gets(sl);

k=strlen(sl);

for(i=0;sl[i]!='\0';i++)

s2[i]=sl[k-l-i];

s2[i]='\0';

puts(s2);

)

45:将一个字符串中全部数字字符删掉。

#include"stdio.h"

main()

(

chara[80],b[40];

inti,j=O;

gets(a);

for(i=0;a[i]!='\0';i++)

if(a[i]<'0'||a[i]>'9')

(

bUJ=a[i];

j++;

)

bU]='\O';

puts(b);

46:删除字符串中指定字符,字符串和要删除字符均由键盘输入。

#include"stdio.h"

main()

(

chara[80],b[40]zc;

inti,j=O;

gets(a);

c=getchar();

for(i=0;a[i]!='\0';i++)

if(a[i]!=c)

(

bD]=a[i];

j++;

)

bU]='\O';

puts(b);

47:将一个字符串中前n个字符复制到一个字符数组中去,n值小于字符串实际长度,不许

使用strcpy函数。

#include"stdio.h"

main()

(

charsl[80]zs2[80];

inti,n;

gets(sl);

scanf("%d",&n);

for(i=0;i<n;i++)

s2[i]=sl[i];

s2[i]='\0';

puts(s2);

}

48:打印水仙花数。水仙花数是一个三位数,其各位数字立方和与原数相等。

#include"stdio.h"

main()

inti,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*c;

if(n==i)

printf("%5d,i);

)

printf("\n");

)

49:编程求出广20之间奇数之和,偶数之积。

#include"stdio.h"

main()

ints=O,i;

doublet=l;

for(i=l;i<=20;i++)

(

if(i%2==0)

t=t*i;

else

s=s+i;

)

printf("s=%d/t=%.OIf"zszt);

}

50:统计100以内各位数字之和为5自然数个数。

#include"stdio.h"

intmain(void)

intn,s,k,count=0;

for(n=l;n<=100;n++)

(

s=O;k=n;

while(k!=O)

(

s=s+k%10;

k=k/10;

)

if(s!=5)continue;

elsecount++;

)

printf("%d",count);

return0;

)

51:从键盘输入一个任意正整数判断其是否为素数,若为素数则输出“YES”,不然输出“NO”。

#include"stdio.h"

main()

(

intnJ;

scanf("%d",&n);

if(n>l)

for(i=2;i<n;i++)

if(n%i==O)break;

if(n==i)printf("YES");

elseprintf("NO");

)

52:编程求出大于m最小素数。

#include"stdio.h"

#include"math.h"

main()

intm,i,k=O,x;

scant("%d",&m);

for(i=m+l;k==0;i++)

(

for(x=2;x<=sqrt(i);x++)

if(i%x==O)

break;

if(x>sqrt(i))

{k=l;

printf(”%d,i);

)

)

)

53:求Sn=a+aa+aaa+...+aa...a之值,其中a是一个数字。比如:2+22+222+2222(此时n=4),

n由键盘输入。

#include"stdio.h"

main()

inta,n,sn=O,i,t;

scanf("a=%d/n=%d"/&a/&n);

t=a;

for(i=l;i<=n;i++)

(

sn=sn+a;

a=a*10+t;

)

printf(”%d”,sn);

}

54:求出以下分数序列前20项之和。

2/1+3/2+5/3+8/5+13/8+21/13,

#include"stdio.h"

main()

inta=l,b=2,n,t;

doubles=0;

for(n=l;n<=20;n++)

(

s=s+b*1.0/a;

t=b;

b=a+t;

a=t;

)

printf("%.2f"/s);

)

55:输入一个年份,判断其是否为闰年,若是闰年输出“yes”信息,不然输出“no”信息。

#include"stdio.h"

main()

inta;

scanf("%d",&a);

if(a%4==0&&a%100!=0||a%400==0)

printf("yes");

else

printf("no");

}

56:任意输入10个整数,求其中偶数之积

#include"stdio.h"

main()

{

inta,i,s=l;

for(i=l;i<=10;i++)

(

scanf(”%d”,&a);

if(a%2==0)s=s*a;

)

printf(”%d”,s);

)

57:计算数列第n项。

ai=l3a2=l/(l+ai),a3=l/(l+a2)5-5an=l/(l+an.i)

#include"stdio.h"

main()

(

intnJ;

floata=l;

scanf("%d",&n);

if(n==l)a=l;

for(i=2;i<=n;i++)

a=1.0/(a+l);

printf("%f",a);

)

58:求出100〜200之间全部素数,每行输出8个数,每个数宽度为5歹h

#include"stdio.h"

#include"math.h"

main()

{

intn,i,k,p=0;

for(n=100;n<=200;n++)

(

k=sqrt(n);

for(i=2;i<=n/2;i++)

if(n%i==0)break;

if(i>k)

(

printf("%5d",n);

P++;

if(p%8==0)printf("\n');

}

)

)

59:求出200以内各位数字之和为9全部数平均值。

#include"stdio.h"

intmain(void)

(

intn,s,k,count=0,sum=0;

floatave;

for(n=l;n<=200;n++)

(

s=0;k=n;

while(k!=0)

s=s+k%10;

k=k/10;

)

if(s!=9)continue;

else{sum=sum+n;count++;}

)

ave=sum*1.0/count;

printf(”%.2f”,ave);

return0;

)

60:输入n,然后求以下表示式值。

111

S=1++•+,

l+2l+2+31+2+-+n

#include"stdio.h"

main()

intn,sum=l,i;

floats=0;

scanf("%d",&n);

for(i=2;i<=n+l;i++)

(

s=s+1.0/sum;

sum=sum+i;

)

printf("%f"/s);

|

61:一个数组有8个元素,将前3个元素经过移动串到后3个位置上,假如其初始数据为:

12345678不增加数组,也不增加数组存放单元,经过移动数组元素将数组改变为:45

678123

#include"stdio.h"

main()

(

inta[8],b[8];

inti;

for(i=0;i<8;i++)

scanf("%d",&a[i]);

for(i=0;i<8;i++)

(

if(i<3)

b[i+5]=a[i];

else

b[i-3]=a[i];

)

for(i=0;i<8;i++)

printf("%3d"zb[i]);

)

62:找出含有10个元素一维数组中最大值和最小值,并交换这两个数位置。

#include"stdio.h"

main()

inta[10];

inti,max,min,t,k,p;

for(i=0;i<10;i++)

scanf("%d",&a[i]);

min=a[O];

max=a[O];

for(i=0;i<10;i++)

(

if(a[i]>max)

(

max=a[i];

k=i;

)

if(a[i]<min)

(

min=a[i];

P=i;

)

)

printf("max=%d/min=%d"/max,min);

printf("\n");

t=a[p];

a[p]=a[k];

a[k]=t;

for(i=0;i<10;i++)

printf("%5d"za(i]);

)

63:用数组存放并输出Fibonacci数列前20项,按5个一行输出,

11235

813213455

89144233377610

9871597258441816765

#include"stdio.h"

main()

(

longinta[20]={l,l};

inti,n=0;

for(i=2;i<20;i++)

a[i]=a[i-l]+a[i-2];

for(i=0;i<20;i++)

(

printf("%10d"za[i]);

n++;

if(n%5==0)printf("\n");

)

)

64:一个数列前三个数是0、0、1,以后每个数都是前三个数和,编程求改数列前20项,

并按每行4个数格式输出。

0011

24713

244481149

2745049271705

313657681060919513

#include"stdio.h"

main()

longinta[20]={0,0zl};

inti,n=0;

for(i=3;i<20;i++)

a[i]=a[i-l]+a[i-2]+a[i-3];

)

for(i=0;i<20;i++)

printf(”%10d",a「]);

n++;

if(n%4==0)printfC'Xn");

)

65:输入10个正整数到a数组中,求a数组中素数平均值。

#include"stdio.h"

main()

inta[10];

intiJzp=0,s=0;

floatave;

for(i=0;i<10;i++)

scanf("%d"z&a[i]);

if(a[il>l)

for(j=2;j<a[i];j++)

if(a[i]%j==O)break;

if(j==a[i])

{s=s+a[i];p++;}

)

)

ave=s*1.0/p;

printf("%.2f",ave);

)

66:输入一个4X4数组,求一个4X4数组左下三角(包含主对角线)元素和。

输入格式:输入4行4列方阵,每行第一个数前没有空格,每行每个数之间各有一个空格。

#include"stdio.h"

main()

inta[4][4];

intiJ,s=O;

for(i=0;i<4;i++)

for(j=0;j<4;j++)

(

scanf(”%d,&a[i皿);

if(j<=i)s=s+a[i][j];

)

printf("%d",s);

)

67:求一个3X4数组中大于等于平均值全部数组元素和,并统计满足条件元素个数。本题

中平均值为小数,用到其余全部变量均为整型。

#include"stdio.h"

main()

(

inta[3][4];

intij/sum=O,n=O,p=O,s=O;

floatave;

for(i=0;i<3;i++)

for(j=0;j<4;j++)

(

scanfC^d';&aliJO]);

sum=sum+a[i][j];

P++;

)

ave=sum*1.0/p;

for(i=0;i<3;i++)

for(j=0;j<4;j++)

(

s=$+a[i][j];

n++;

)

printf("s=%dzn=%d",s/n);

68:求一个5X5方阵主对角线元素和以及副对角线元素积。

#include"stdio.h"

main()

(

inta[5][5);

inti,j/s=O/t=l;

for(i=0;i<5;i++)

for(j=0;j<5;j++)

(

if(i==j)s=s+a[i][j];

if(i+j==4)t=t*a[i][j];

)

printf("s=%d,t=%d"/s/t);

)

69:求一个4X5数组周围元素累加和。

#include"stdio.hn

main()

{

inta[4][5];

inti,j,s=O;

for(i=0;i<4;i++)

for(j=0;j<5;j++)

(

scanf("%d",&a(i)O]);

if(i==0||j==0||i==3||j==4)

s=s+a[i][j];

)

printf(”%d”,s);

)

70:从键盘上输入若干(<20)个学生成绩,统计计算出平均成绩,并输出低于平均分学生

成绩,用输入负数结束输入。

#include"stdio.h"

main()

(

inti,s=0,n=0;

floatave,a[19];

i=0;

scanf("%f',&a[i]);

while(a[i]>0)

(

?=s+a[i];

i++;

)

ave=s*1.0/i;

printf("ave=%0.2f\n",ave);

for(i=0;a[i]>0;i++)

if(a[i]<ave)printf(”%6.1f”,a[i]);

)

71:把一个字符串中大写字母改成小写字母,其余字符不变。

#include"stdio.h"

main()

(

charsl[80];

inti;

gets(sl);

for(i=0;sl[i]!='\0';i++)

if(sl[i]>='A'&&sl[i]<=,Z')

sl[i]=sl[i)+32;

puts(sl);

72:将字符串中每一个数字字符都替换成一个$字符。

#include"stdio.h"

main()

(

chara[80];

inti;

gets(a);

for(i=0;a[i]!='\0';i++)

if(a[i]>='0'&&a[i]<=,9,)

a[i]='$';

puts(a);

}

73:.删除一个字符串中下标为偶数全部字符,将剩下字符组成一个新串输出。

#include"stdio.h"

main()

chara[20],b[10];

inti,j=O;

gets(a);

for(i=0;a[i]!='\0';i++)

if(i%2!=0)

(

b[j]=a[i];

j++;

)

b[j]=W;

puts(b);

)

74:把一个字符串中全部字符按从小到大排序。

#include<stdio.h>

intmain()

{chars[100],*p,*pl,*p2,c;

gets(s);〃读取字符串

for(p=s;*p;p++);〃求得串长,p指向、O'

P-;〃冒泡排序外循环终点

for(pl=s;pl<p;pl++,p--)〃此二重循环为冒泡排序

for(p2=s;p2<p;p2++)

if(*p2>*(p2+l))

{c=*p2;*p2=*(p2+l);*(p2+l)=c;}

puts(s);

return0;

)

75:将s所指字符串反序和正序进行连接形成一个新串放在t所指数组中。

#include"stdio.h"

#include"string.h"

main()

chara[20],b[40);

inti,t,k,j;

gets(a);

k=strlen(a);

for(i=0;i<k;i++)

b[i]=a[k-l-i];

b[i…;

i=0;

while(b[i]!='\O')

i++;

j=0;

while(a(j]!='\O')

(

b[i]=a[j];

i++;j++;

)

b[i]='\O';

puts(b);

76:将10个数中全部偶数除以2,全部奇数乘以2后输出这些数值。

#include"stdio.h"

main()

(

inta[10];

inti;

for(i=0;i<10;i++)

(

scanf("%d"z&a[i]);

if(a[i]%2==0)

a[i]=a[i]*1.0/2;

elsea[i]=a[i]*2;

for(i=0;i<10;i++)

printf(”%4d”,a[i]);

77:求一个5X5数组右上三角(含对角线)元素和。

#indude"stdio.h"

main()

(

inta[5][5];

inti,j/s=O;

for(i=0;i<5;i++)

for(j=0;j<5;j++)

(

scanf("%d",&a(i][j]);

if(j>=i)s=s+a[i][j);

)

printf("%d”,s);

)

78:求5X5数组除了四条边框之外元素和。

#include"stdio.h"

main()

(

inta[5][5];

inti,j,s=O;

for(i=0;i<5;i++)

for(j=0;j<5;j++)

(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论