if(k!
=i)
{t=a[k];a[k]=a[j];a[j]=t;}
}}
#defineN10
main()
{intc[N],i,j;
for(i=0;iscanf("%d",&c[i]);
maxji(c,N);
for(i=N-1;i>=0;i--)
if(c[i]%2==0)
printf("%5d",c[i]);
printf("\n");
for(i=0;iif(c[i]%2!
=0)
printf("%5d",c[i]);
}
8.(*)求出0~999之间的所有“水仙花数”并输出。
“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3,则153是一个“水仙花数”。
程序1:
main()
{inti,j,k,a;
for(i=1;i<=9;i++)
for(j=0;j<=9;j++)
for(k=0;k<=9;k++)
if(i*i*i+j*j*j+k*k*k==100*i+10*j+k)
printf("%d%d%d\n",i,j,k);
}
程序:
main()
{intm,i,j,k,a;
for(m=101;i<=999;m++)
{i=m/100;
j=(m-m*100)/10;
.3.
k=m%10;
if(i*i*i+j*j*j+k*k*k==m)
printf("%d\n",m);
}
9.(*)试编程:
判断输入的正整数是否既是5,又是7的整数倍数。
若是则输出yes;否
则输出no。
10.(*)已有函数调用语句c=add(a,b);请编写aad函数,计算两个实数a和b的和,并返回和值。
11.(*)有人想将手中一张面值100元的人民币换成5元、1元、0.5元面值的零钱100张,以上三种面值的零钱至少有一张,问共有几种换法。
请编程实现。
程序1:
main()
{inti,j,k,n=0;
for(i=1;i<19;i++)
for(j=1;j<95;j++)
for(k=1;k<94;k++)
if(5*i+j+0.5*k==100&&i+j+k==100)
{printf("%d,%d,%d\n",i,j,k);n++;}
printf("%d",n);
}
12.(*)求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:
2+22+222+2222+22222
程序1:
main()
{inti,a,n;
longsum=0,b=1,c=1;
scanf("%d,%d",&a,&n);
for(i=1;i<=n;i++)
程序3:
main()
{longintsn=0,k=a;
inta,i,j;
scanf("%d",&a);
for(i=1;i<=5;i++)
{k=10*k+a;
sn=sn+k;
}
printf("%ld\n",sn);
}
{sum+=a*c;
b*=10;c+=b;}
printf("%ld",sum);
}
程序2:
main()
{longintsn=0,k=0;
inta,i,j;
scanf("%d",&a);
for(i=1;i<=5;i++)
{for(j=1;j<=i;j++)
k=10*k+a;
.4.
sn=sn+k;
k=0;}
printf("%ld\n",sn);
}
13.(*)编程输出如下图形(不能仅用printf语句):
*
***
*****
*******
*********
main()
{inti,k,j;
for(i=0;i<=4;i++)
{for(j=0;j<4-i;j++)
printf("");
for(k=0;k<=2*i;k++)
printf("*");
printf("\n");}
}
14.(*)用近似公式求自然对数的底e的值。
e≈1+1!
+++……
#include"math.h"
main()
{floati,j,e,p=1.0,sum=0.0;
for(i=1;i<10;i++)
{for(j=1;j<=i;j++)
p=p*j;
sum=sum+1.0/p;
p=1.0;}
e=i+sum;
printf("%f\n",e);
}
15.(*)请编程,用scanf()函数输入三个字符,对这三个字符各加一个整数1后,用
putchar()函数输出,且每输出一个字符换一行。
16.(*)请编程,用scanf()函数输入三个整数,输出其中不大不小的那个数,输出宽度为五位。
intfindmid(inti,intj,intk)
{intn;
.5.
if(iif(ielseif(j>k)n=j;
elsen=k;
return(n);}
main()
{inti,j,k,n;
scanf("%d%d%d",&i,&j,&k);
n=findmid(i,j,k);
printf("%d\n",n);
}
17.(*)编程实现输出所有1~100之间能被9整除余2的数。
18.(*)编写一程序实现如下功能:
输入1、2、3、4、5、6、7(分别对应星期一至星期日)中的任何一个数,便能输出与之对应的英文名称。
如输入1,则输出Monday。
main()
{charday;
scanf("%c",&day);
swith(day)
{case'1':
printf("monday\n");break;
case'2':
printf("tuesday\n");break;
case'3':
printf("wednsday\n");break;
case'4':
printf("thursday\n");braek;
case'5':
printf("friday\n");break;
case'6':
printf("saturday\n");break;
case'7':
printf("sunday\n");break;
defult:
printf("error\n");
19.(*)编一程序,对于给定的一个百分制成绩,输出相应的5分制成绩。
设:
90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。
(用switch语句实现)。
main()
{ints,score;
scanf("%d",&score);
s=score/10;
switch(s)
{case10:
printf("A\n");break;
case9:
printf("A\n");break;
case8:
printf("B\n");break;
case7:
printf("C\n");break;
case6:
printf("D\n");break;
case5:
case4:
case3:
case2:
case1:
printf("E\n");break;
default:
printf("error");
}}
20.(*)试编程:
判断输入的正整数是否既是5,又是7的整数倍数。
若是则输出yes;否则输出no。
21.(**)一个数如果却好等于它的因子之和,这个数就称为“完数”。
例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。
编程序找出100之内的所有完数,并按下列格式输出其因子:
6itsfactorsare1,2,3
main()
{intm,i,s;
for(m=2;m<1000;m++)
{s=0;
for(i=1;iif(m%i==0)s=s+i;
if(m==s)
{printf("%3ditsfactorsare",m);
for(i=1;iif(m%i==0)printf("%4d",i);
printf("\n");
}
}
}
22.(*)输入5对整数,请输出每对数中较大者
main()
{inti,j,a[5][2];
for(i=0;i<=4;i++)
for(j=0;j<=1;j++)
scanf("%d",&a[i][j]);
for(i=0;i<=4;i++)
if(a[i][1]>a[i][0])
printf("%4d\n",a[i][1]);
else
printf("%4d\n",a[i][0]);
}
.6.
23.(**)编程将一个3x3矩阵转置(行列互换)后输出。
main()
{inti,j,a[3][3],b[3][3];
for(i=0;i<=2;i++)
for(j=0;j<=2;j