15.求1!+2!+3!+??+15! #include \void main() {
long i,j=1,sum=0; for ( i=1;i<=15;i++) { j*=i; sum+=j; }
printf (\}
16.打印所有水仙花数。水仙花数是指一个3位数,其各位数字立方和等于该数本身。
#include
int i,a,b,c; for(i=100; ;i++) {
a=i; b=i/10; c=i/100;
if (i==a*a*a+b*b*b+c*c*c) printf(\ } }
17.完数:一个数恰好等于其因子之和。如6=1+2+3,6是完数。求1000之内的所有完数,并按照下列格式输出其因子: 6 its factors are 1,2,3 #include \void main() {
int m,n,s=0;
for (m=5;m<=1000;m++) {
s=0;
for (n=1;n<=m/2;n++) {if(m%n==0) s=s+n;} if(m==s)
printf (\ }
18.某生意外获桃子数枚,大喜,即刻吃掉一半,意犹未尽,又多吃一枚。次日,吃掉余下的一半后又多吃一枚。以后数日皆吃掉前一日剩下的一半又一个。第10日一大早起而视之,发现只剩1个桃子了。问首日获桃几枚?
#include \void main() {
int i,x=1;
for(i=1;i<10;i++) x=2*x+1;
printf(\猴子共摘了%d个桃子\}
19.从键盘输入一系列字符,直到回车换行,统计其中字母、数字和其它字符的个数。
#include \void main() {
char c;
int letters=0,digit=0,others=0;
printf(\ while((c=getchar())!='\\n')
if(c>='a' && c<='z' || c>='A' && c<='Z') letters++;
else if(c>='0' && c<='9') digit++;
else others++;
printf(\字母=%d 数字=%d 其它=%d\\n\}
20.中国古代数学家张丘建在他的《算经》中提出了著名的“百钱百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,鸡翁、鸡母、鸡雏各几何?
#include \void main() {
int x,y,z;
for (x=0;x<=20;x++) {
if ((100-7*x)%4==0) {
y=(100-7*x)/4; if (y>=0) {
z=100-x-y; if (z>=0) {
printf(\公鸡 : -, 母鸡 : -, 小鸡 : -\\n\
} } } }
21.输入一行字符,单词之间用空格分隔,统计其中单词个数。 #include \void main() {
char string[81],c;
int i,num=0,word=0; gets(string);
for(i=0;(c=string[i])!='\\0';i++) { if(c==' ')
word=0; else if(word==0)
{ word=1; num++; } }
printf(\}
22.求一个3*3的整型矩阵对角线元素之和。 #include \void main() {
int i, j, a[3][3], sum = 0; for(i = 0; i < 3; i++) for(j = 0; j < 3; j++) scanf(\ for(i = 0; i < 3; i++) sum += a[i][i]; printf(\}
23.有一个排好序的数组,要求输入一个数后,按原来的排序规律将它插入到数组中。
#include \void main() {
int a[] = {1,3,6,7,9}; int i,j,x;
printf(\ scanf(\ for(i=0;i<5;i++) if(x
for(j=5;j>i;j--)
a[j]=a[j-1]; a[j]=x;
printf(\ for(i=0;i<6;i++)
printf(\}
24.输出杨辉三角(输出10行)。 #include \void main() {
int i,j;
int a[10][10]; for(i=0;i<10;i++) a[i][0]=1;
for(j=1;j<10;j++) a[0][j]=0; for(i=1;i<10;i++) for(j=1;j<10;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=0;i<10;i++) for(j=0;j<=i;j++)
{ printf(\ if(j==i)
printf(\}
25.编写程序,输入一字符串,将字符串逆序后输出。 #include \void main() {
char str[81]; int i,s;
printf(\请输入\\n\ gets(str); s=strlen(str);
for(i=s-1;i>-1;i--) printf(\}
26.用数组求Fibonacci数列的前20项。 #include \void main() {
int a[20]; int i; a[0]=a[1]=1;
for(i=2;i<20;i++)
a[i]=a[i-1]+a[i-2]; for(i=0;i<20;i++) printf(\}
27.随机输入10个数,选出其中的最小数和最大数。 #include \void main() {
int a[10],i,max,min; for(i=0;i<10;i++) scanf(\ max=min=a[0];
for(i=1;i<10;i++) if (a[i]>max) max=a[i]; if (a[i] printf(\} 28.将10个整数从大到小排序。 #include \void main() { int a[10]={1,2,3,4,5,6,7,8,9,10}; int i,j,t; for(i=0;i<10;i++) for(j=i+1;j<10;j++) if(a[i] {t=a[i];a[i]=a[j];a[j]=t;} for(i=0;i<10;i++) printf(\} 29.从键盘接收10个数,求平均数并输出小于平均数的数。 #include \void main() { int a[10], i;float aver =0 ; for(i=0;i<10;i++) { scanf(\ aver += a[i]; } aver/=10; printf(\ for( i=0;i<10;i++)