例题

171 阅读1分钟

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;
}