1.水仙花问题:水仙花数是指每一位数的次方的和正好是这个数;输出1~1000之间的水仙花数字。
#include<stdio.h>
int main()
{
int n,a,b,c,d; // n记录个数,abc分别为三位数的百位,十位,个位上的数
for(d=0;d<=1;d++)
{
for(a=0;a<=9;a++)
{
for(b=0;b<=9;b++)
{
for(c=1;c<=9;c++)
{
if(c*c*c+b*b*b+a*a*a+d*d*d==1000*d+100*a+10*b+c)
{
n=1000*d+100*a+10*b+c;
printf("%d\n",n);
}
}
}
}
}
return 0;
}
输出结果:
1
153
371
407
2.
#include<stdio.h>
#include<math.h> //“取整函数”:floor(x)函数返回的是小于或等于x的最大整数,如floor(2.5)=2 ; ceil(x)返回的是大于x的最小整数,如ceil(2.5)=3
int main()
{
int a,b,c,t;
scanf("%d",&t);
a=floor(t/3600);
b=floor((t-3600*a)/60);
c=floor((t-3600*a-60*b)/1);
printf("%d:%d:%d\n",a,b,c);
return 0;
}
3.
#include<stdio.h>
int main()
{
int n;//n为打印的行数
scanf("%d",&n);
for(int i=1;i<=n;i++) //从第一开始循环,一行一行打印
{
for(int j=1;j<=n-i;j++) //每行打印空格
{
printf(" ");
}
for(int k=1;k<=2*i-1;k++) //每行打印*
{
printf("*");
}
printf("\n"); //打印完一行换行
}
return 0;
}