- 打印出所有的“水仙花”数。所谓“水仙花”数是只一个3位数,其各位数字立方和等于该数本身。
解: #include “stdio.h”
main()
{
int I,j,ge,shi,bai;
printf(“n所有的水仙花数有:”);
for(I=101;I<100;I++)
{ j=i;
ge=j%10;
j=j%10;
shi=j%10;
j=j/10;
bai=j;
if(i= =ge*ge*ge+shi*shi*shi+bai*bai*bai)
printf(“n%d”,I);
}
}
- 编写程序,找到1000以内的所有“完数”。所谓“完数”是指一个数是其所有因子之和,例如6=1+2+3。
解: #include “stdio.h”
#include “math.h”
main()
{
int I,j,k,sum;
printf(“n1000以内的所有完数有;”);
for(i=2; i<1000;i++)
{ sum=1;
k=i/2;
for(j=2; j<=k;j++)
if(i%j = =0) sum=sum+j;
if(i= =sum) printf(“n%d”,I);
}
}
- 编写程序,输出从公元1000元至2000年所有闰年的年号。每输出3个年号换一行。
解: #include “stdio.h”
main()
{
int year,I=0;
printf(“n从1000年至公元2000年中闰年有:n”);
for(year=1000;year<=2000;)
{
if((year%4= =0&&year%100!=0)||year%400= =0)
{
printf(“t%d”,year);
i++;
if(i%3= =0) printf(“n”);
}
year++;
}
}
- 通过赋初值按行顺序给2*3的二维数组赋予2,4,6等偶数,然后按列的顺序输出该数组,即输出其转置矩阵。
解: main()
{
int i,j,a[2][3]={2,4,6,8,10,12};
printf(“The original array is:n”);
for (i=0; i<2;i++)
{ for(j=0;j<3;j++)
printf(“%4d”,a[I][j]);
printf(“n”);
}
printf(“nthe reault is:n”);
for(i=0; i<3;i++)
{for(j=0;j<2;j++)
printf(“%4d”,a[j][i]);
printf(“n”);
}
}
13. 通过循环按行顺序为一个5*5的二维数组a赋1~25的自然数,然后输出该数组的下三角矩阵.
1 2 3 4 50 0 0 0 0 0
6 7 8 9 10 6 0 0 0 0
11 12 13 14 15 11 12 0 0 0
16 17 18 19 20 16 17 18 0 0
21 22 23 24 25 21 22 23 24 0
解: main()
{ int a[5][5],I,j,n=1;
for(i=0; i<5;i++)
for(j=0; j<5;j++)
a[i][j]=n++;
printf(“The result is n”);
for( i=0; i<5; i++)
{for(j=0;j<5;j++)
if(j>i)
{a[i][j]=0; printf(“%4d”,a[i][j]);}
else printf(“%4d”,a[i][j]);
printf(“n”);
}
}



