C语言平台答案.docx

上传人:b****4 文档编号:24664781 上传时间:2023-05-30 格式:DOCX 页数:56 大小:35.37KB
下载 相关 举报
C语言平台答案.docx_第1页
第1页 / 共56页
C语言平台答案.docx_第2页
第2页 / 共56页
C语言平台答案.docx_第3页
第3页 / 共56页
C语言平台答案.docx_第4页
第4页 / 共56页
C语言平台答案.docx_第5页
第5页 / 共56页
点击查看更多>>
下载资源
资源描述

C语言平台答案.docx

《C语言平台答案.docx》由会员分享,可在线阅读,更多相关《C语言平台答案.docx(56页珍藏版)》请在冰豆网上搜索。

C语言平台答案.docx

C语言平台答案

1:

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

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

输入格式:

输入一个整数。

输出格式:

输出1~n的累加和。

输入样例:

在这里给出一组输入。

例如:

5

输出样例:

在这里给出相应的输出。

例如:

15

#include""

main()

{

inti,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

输出样例:

#include""

#include""

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。

输入格式:

输入一个数

输出格式:

输出x=多少,y=多少,输出的x和y值均保留两位小数

输入样例:

-3

输出样例:

x=,y=

#include""

#include""

main()

{

floatx,y;

scanf("%f",&x);

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

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

elsey=2*x+1;

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

}

4:

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

#include""

main()

{

longinta[20]={1,1};

inti;

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

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

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

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

}

5:

求1-3+5……-99+101的值。

#include""

#include""

main()

{

inti,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的值。

#include""

main()

{

inti,n,t;

n=0;

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

{

t=i*(i+1);

n=n+t;

}

printf("%d",n);

}

7:

各位数字之和(10分)

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

输入格式:

输入一个正整数。

输出格式:

输出整数的各个位数字之和的结果。

#include""

main()

{

inti,k=1,n,s,nc=1,ni,sum=0;

scanf("%d",&n);

intj,t=1;

for(i=1;n/t>=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:

辗转相除法求最大公约数。

#include""

main()

{

intn,r,m;

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

r=m%n;

while(r!

=0)

{

m=n;

n=r;

r=m%n;

}

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

}

9:

猜算式2*7=3848中的数字(10分)

算式:

2*7=3848中缺少一个十位数和一个个位数。

编程求出使该算式成立时的这两个数,并输出正确的算式。

输出格式:

在一行中输出A2*B7=C的值。

#include<>

main()

{

inti,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列列宽。

#include""

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:

求1!

+3!

+5!

+……+n!

(10分)

求1!

+3!

+5!

+……+n!

的和,要求用循环嵌套设计,n<12。

输入格式:

输入在一行中给出一个不超过12的正整数n。

输出格式:

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

#include<>

main()

{

inti,t,n,k=1,s=0;

scanf("%d",&n);

if(n<12)

{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()

{

inti,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分)

请编程序打印如下图形。

$$$$$

$$$$

$$$

$$

$

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

输出格式:

以倒直角三角形的格式输出5行由"$"符号构成的三角图形,每个"$"符号占固定1位,第一行第一个"$"符号前有1个空格。

#include<>

main()

{

inti,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<>

main()

{

inti,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个空格。

#include""

main()

{

inti,j;

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

{

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

printf("");

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

printf("*");

printf("\n");

}

for(i=1;i<4;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=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""

main()

{

inti,j;

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

{

for(j=1;j

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

printf("\n");

}

}

17:

求1!

+2!

+……+n!

#include""

main()

{

intn,s,i,m;

scanf("%d",&n);

s=1;

m=0;

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

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

{

s=s*i;

m=m+s;

}

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

}

18:

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

输入若干学生成绩,以负数结束输入。

计算所有学生的平均成绩并统计成绩在80到90分(不含90)之间的人数。

输入格式:

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

输入负数结束输入。

输出格式:

在一行中按照“ave=平均分,n=人数”的顺序输出结果,其中平均分要求保留两位小数,人数是正整数。

#include""

main()

{

inta,i,s=0,n=0;

floatave;

scanf("%d",&a);

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

{

s=s+a;

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

n++;

scanf("%d",&a);

}

ave=s*i;

printf("ave=%,n=%d",ave,n);

}

19:

3个数字构数(10分)

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

输出格式:

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

#include""

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:

π/4≈1-1/3+1/5……求π(10分)

用公式π/4≈1-1/3+1/5……求π的近似值,要求直到最后一项的绝对值小于为止。

输出格式:

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

#include""

#include""

main()

{

intp=1;

floatsum=0,s=1,k=1;

while(fabs(s)>=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(要求n1

输入格式:

在一行输入2个整数。

两个整数之间用一个空格间隔

输出格式:

按照“a=n1,b=n2,n=个数”的顺序输出。

其中n1、n2和个数的输出格式均为原样输出,不加宽度控制。

#include""

main()

{

inti,n1,n2,n=0;

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

if(n1

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

if(i%3==0)

n++;

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

}

22:

各位数字平方和(10分)

程序功能是输入一个长整数,求各位数字的平方和s。

如果输入的是负数,求其相反数的各位数字的平方和。

例如:

输入-123,输出14。

输入格式:

直接输入一个长整数。

输出格式:

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

#include""

#include""

intmain(void)

{

intn,s,k,t;

scanf("%d",&n);

if(n>0)

s=0;k=n;

while(k!

=0)

{

t=k%10;

s=s+t*t;

k=k/10;

}

if(n<0)

n=fabs(n);

s=0;k=n;

while(k!

=0)

{

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""

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""

main()

{

floatf,c;

scanf("%f",&f);

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

}

25:

求n!

#include""

main()

{

intn,t,i;

t=1;

scanf("%d",&n);

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

t=t*i;

printf("%d",t);

}

26:

10个数的最大值

#include""

main()

{

intmax,i,n;

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

{

scanf("%d",&n);

if(n>=max)

max=n;

}

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

}

27:

[1,40]能被3整除的数

#include""

main()

{

intn;

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

if(n%3==0)

printf("%4d",n);

}

28:

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

#include""

main()

{

intn,t;

t=0;

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

if(n%3==0)

t=t+n;

printf("%4d",t);

}

29:

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

#include""

main()

{

intn,t;

t=0;

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

if(n%3==0)

t++;

printf("%d",t);

}

30:

求1到6的阶乘的和.

#include""

main()

{

inti,n=1;

floats=0;

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

{

n=n*i;

s=s+n;

}

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

}

31输入10个无序的整数,用选择法对10个整数按升序排序。

注意:

要求排序只排3轮。

#include""

main()

{

inta[10];

inti,b,min,j,k;

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

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

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

{

k=i;

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

if(a[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""

main()

{

inta[80],b[80];

inti,n;

scanf("%d",&n);

for(i=0;i

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

for(i=0;i

{

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

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

}

return0;

}

33:

对n个整数组成的一维数组用顺序法按从小到大排序后输出(4

#include""

main()

{

inta[10];

inti,n,t,j,k;

scanf("%d",&n);

if(n>4&&n<10)

for(i=0;i

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

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

{

k=i;

for(j=1+i;j

if(a[j]

if(k!

=i)

{

t=a[i];

a[i]=a[k];

a[k]=t;

}

}

for(i=0;i

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

return0;

}

34:

在一维数组中有10个整数,求出其中能被5整除的所有数的和。

#include""

main()

{

inta[10],s=0,i;

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""

main()

{

inta[11]={1,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

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

a[j+1]=a[j];

a[i]=num;

break;

}

}

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

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

}

36:

有一数组内放5个整数,要求找出第一次出现的最小数和它的下标,然后把它和数组中最前面的元素即第一个数对换位置。

#include""

main()

{

inta[5];

inti,min,t,p;

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

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

min=a[0];

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

{

if(a[i]

{

min=a[i];

p=i;

}

}

t=a[0];

a[0]=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""

main()

{

inta[7][7];

inti,j;

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

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

{

if(i==j||j+i==6)a[i][j]=1;

if(i

if(i6)a[i][j]=4;

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

if(i>j&&i+j<6)a[i][j]=3;

}

fo

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1