C语言经典题目及答案答案在后面.docx

上传人:b****3 文档编号:4921405 上传时间:2022-12-11 格式:DOCX 页数:10 大小:24.33KB
下载 相关 举报
C语言经典题目及答案答案在后面.docx_第1页
第1页 / 共10页
C语言经典题目及答案答案在后面.docx_第2页
第2页 / 共10页
C语言经典题目及答案答案在后面.docx_第3页
第3页 / 共10页
C语言经典题目及答案答案在后面.docx_第4页
第4页 / 共10页
C语言经典题目及答案答案在后面.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

C语言经典题目及答案答案在后面.docx

《C语言经典题目及答案答案在后面.docx》由会员分享,可在线阅读,更多相关《C语言经典题目及答案答案在后面.docx(10页珍藏版)》请在冰豆网上搜索。

C语言经典题目及答案答案在后面.docx

C语言经典题目及答案答案在后面

程序设计题

1.有一函数:

x(x<1)

y=2x-1(1≤x<10)

3x-11(x≥10)

写一程序,输入x,输出y值。

2.百钱买百鸡:

一百元钱买一百只鸡,公鸡5元一只,母鸡3元一只,小鸡一元3只,求出所有购买方案。

3.将一元钱全兑换成一分、两分、五分的硬币,求所有兑换方法及方法总数。

1

+

1+2

+

1+2+3

+

……

+

1+2+3+……+100

1*2

1*2*3

1*2*3*……*100

4.求下列算式的值。

5.勾股数是指满足i2+j2=k2的整数i,j,k。

编程求1~100之间的勾股数,并打印出结果,且要求没有重复。

6.求Sn=2+22+222+…+222…2(n个2)之值,其中n由键盘输入。

7.打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。

如:

153=13+53+33

8.用数组来求Fibonacci数列问题(求前20个数)。

数列如下:

1,1,2,3,5,8,13……

9.用起泡法对10个数由小到大排序。

10.将一个二维数组行和列互换,存到另一个二维数组中。

11.打印“魔方阵”,所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。

要求打印出由1~n2的奇数构成的魔方阵。

12.求具有abcd=(ab+cd)2性质的四位数。

如:

3025=(30+25)2

13.写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个整数由键盘输入。

14.输入两个3行4列的矩阵a、b,求出它们的和c,并输出c矩阵。

15.编程求满足表达式PEAR-ARA=PEA的所有数字组合P、E、A、R,并打印出来。

16.一球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下。

求它在第10次落地时共经过多少米?

第10次反弹多高?

17.打印一个九九乘法表。

18.一块长宽高分别为15厘米、10厘米和5厘米的砖块放在地上(如图),蚂蚁要从M点出发,经过BC爬到A点。

求K点在BC上的哪个位置才能通过最短的路径达到A点?

最短路径为多少?

(要求精确度不要太高,取0.1即可)

提示:

AK+MK=√102+k2+√52+(15-K)2

A

BC

K M

程序设计题源代码

1、略

2、main()

{

intx,y,z,n=0;

for(x=1;x<=19;x++)

for(z=99;z>0;z=z-3)

{y=100-x-z;

if(y>0&&100==5*x+3*y+z/3)

{printf("[%d,%d,%d]\t",x,y,z);n++;}

}

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

}

 

3、main()

{

intx,y,z,n=0;

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

for(y=0;y<=(100-5*x)/2;y++)

{z=100-5*x-2*y;

printf("[%d,%d,%d]\t",x,y,z);

n++;}

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

}

 

4、main()

{

intsum1=0,i;

doublesum=0,sum2=1;

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

{sum1=sum1+i;

sum2=sum2*i;

sum=sum+(sum1/sum2);

}

printf("sum=%f\n",sum);

}

5、main()

{inti,j,k,n=0;

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

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

for(k=j+1;k<=99;k++)

if(i*i+j*j==k*k)

{printf("%3d%3d%3d\t",i,j,k);

n++;break;}

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

}

6、main()

{inta=2,n,count=1,sn=0,tn=0;

printf("pleaseinputn(n<6):

");

scanf("%d",&n);

for(;count<=n;count++)

{tn=tn+a;

sn=sn+tn;

a=a*10;}

printf("2+22+222+...=%d\n",sn);

}

7、main()

{inti,j,k,n;

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

{i=n/100;j=n/10-i*10;k=n%10;

if(n==i*i*i+j*j*j+k*k*k)

printf("%4d\t",n);

}

printf("\n");

}

 

8、main()

  {inti;

  intf[20]={1,1}; /*求数列中前20个数*/

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

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

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

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

  printf("%12d",f[i]);

  }

  }

9、main()

{inta[11];

inti,j,t;

printf("pleaseinput10numbers:

\n");

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

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

printf("\n");

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

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

if(a[i]>a[i+1])

{t=a[i];a[i]=a[i+1];a[i+1]=t;}

printf("thesortednumbers:

\n");

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

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

}

10、main()

{inta[2][3]={{1,2,3},{4,5,6}};

  intb[3][2],i,j;

printf("arraya:

\n");

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

{for(j=0;j<=2;j++)

{printf("%5d",a[i][j]);b[j][i]=a[i][j];}

printf("\n");}

printf("arrayb:

\n");

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

 {for(j=0;j<=1;j++)

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

 printf("\n");}

}

816

357

492

11、打印“魔方阵”。

所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。

例如,三阶魔方阵为

要求打印出由1~n2的奇数构成的魔方阵。

解:

魔方阵中各数的排列规律如下:

⑴所构成的n阶魔方阵,n必须为奇数;

⑵将“1”放在第一行最中间一列;

⑶从“2”开始直到n×n止,每个数存放的行比前一个数的行数减1,列数加1;

⑷如果上一数行数为1,则令下一数行数为n;

⑸如果上一数列数为n,则令下一数列数为1,行数减1;

⑹如果按上面的规定确定的位置上已有数,或上一数是第1行第n列时,则把下一数放在上一数的下面,即列数不变,行数加1。

按此方法可得任何阶的魔方阵。

程序如下:

main()

{inta[20][20],i,j,k,p,m,n;

p=1;

while(p==1)

{printf("entern(n=1~19):

");

scanf("%d",&n);

if((n!

=0)&&(n<=19)&&(n%2!

=0))p=0;

elseif(n%2==0)

printf("Error!

Pleaseenteraoddnumber!

\n");

elseif(n>19)printf("Error!

Toobig!

\n");   

}

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

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

a[i][j]=0;

j=n/2+1;

a[1][j]=1;

for(k=2;k<=n*n;k++)

{i=i-1; j=j+1;

if((i<1)&&(j>n))

{i=i+2;j=j-1;}

else{if(i<1)i=n;

if(j>n)j=1;}

if(a[i][j]==0)a[i][j]=k;

else{i=i+2;j=j-1;a[i][j]=k;}

}

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

{for(j=1;j<=n;j++)

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

printf("\n");}

}

12、main()

{intn,a,b;

printf("\nTherearefollowingnumberwith4digitssatisfiedcondition\n");

for(n=1000;n<10000;n++)

{a=n/100;

b=n%100;

if((a+b)*(a+b)==n)

printf("%d ",n);

}

}

13、intdivisor(inta,intb)

{intmax,i,t;

if(a

elset=b;

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

if(a%i==0&&b%i==0)

max=i;

returnmax;

}

intmultiple(inta,intb)

{intmin;

min=a*b/divisor(a,b);

returnmin;}

main()

{inta,b,max,min;

printf("inputa,b:

");

scanf("%d%d",&a,&b);

max=divisor(a,b);

min=multiple(a,b);

printf("max=%-5d,min=%-5d",max,min);

}

14、main()

{inti,j,a[3][4],b[3][4],c[3][4];

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

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

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

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

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

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

c[i][j]=a[i][j]+b[i][j];}

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

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

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

printf("\n");

}

}

15、main()

{intp,e,a,r,b,j,c;

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

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

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

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

{b=1000*p+100*e+10*a+r;

j=100*a+10*r+a;

c=100*p+10*e+a;

if(b-j==c)

{printf("P=%d,E=%d,A=%d,R=%d\n",p,e,a,r);

printf("%d-%d=%d\n",b,j,c);}

}

}

16、main()

{ floats=100,h=s/2;

   intn;

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

     { s=s+2*h;

      h=h/2;  }

   printf("s=%fm,\t",s);

   printf("h=%fm\n",h);

}

17、main()

{ inti,j;

   printf("%4c",2);

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

   printf("%4d",i);

   printf("\n");

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

    {printf("%4d",i);

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

     printf("%4d",i*j);

      printf("\n");}

}

18、#include

main()

{ floatm=5+15+10,k,s,n,a,b;

    for(k=0;k<=15;k=k+0.1)

    { a=15-k;

     s=sqrt(100+k*k)+sqrt(25+a*a);

     if(s<=m)

      {m=s;n=k;}}

    printf("BK=%4.1f,",n);

 printf("S(min)=%4.1f\n",m);

  }

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

当前位置:首页 > 初中教育 > 理化生

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

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