然而并没有 发表于 2015-11-1 19:09:23

水仙花数,循环不起来,求教。

#include<stdio.h>
int main ()
{
        int m,n,t,p,s=0;
        printf("请输入两个在1到1000之间的数:");
        scanf("%d %d",&m,&n);
        for(t=m;t<=n;t++)
                {        p=t;
                        while(t>0)
                        {
                          n=t%10;
                                t=t/10;
                                s=s+n*n*n;
                        }
                          if(s==p)
                                printf("%d",s);       
               
                       
                }
        return 0;
}
      



不知道错误在哪里,循环不起来。

yishizhiming 发表于 2015-11-1 19:58:18

啥叫循环不起来?

想不出来 发表于 2015-11-1 20:12:27

int m, n, t, p, s = 0,k;
                printf("请输入两个在1到1000之间的数:");
                scanf_s("%d %d", &m, &n);
                for (t = m; t <= n; t++)
                {
                        p = t;
                        while (p > 0)
                        {
                                k = p % 10;
                                p = p / 10;
                                s = s + k*k*k;
                        }
                        if (s == t)
                                printf("%d ", s);
                        s = 0;
                }
你这个程序写的有点乱啊,大概改了改,改对了,我在给你写个新的

想不出来 发表于 2015-11-1 20:18:19

#include "stdafx.h"


int _tmain(int argc, _TCHAR* argv[])
{
        int nNum1, nNum2;
        int sum = 0;
        printf("输入1-1000间的两个数:");
        scanf_s("%d%d", &nNum1, &nNum2);
        for (int i = nNum1; i < nNum2; i++)
        {
                int j = i;
                for (; j>0; j = j / 10)
                        sum = sum + (j % 10)*(j % 10)*(j % 10);
                if (sum == i)
                        printf("水仙花数:%d ", i);
                sum = 0;
        }
        printf("\n");
        return 0;
}
页: [1]
查看完整版本: 水仙花数,循环不起来,求教。