m0_59175254 2022-06-24 20:18 采纳率: 100%
浏览 56
已结题

在线求解输出一定范围内的水仙花数的问题

在处理下面这个问题时,我写下了这段代码,运行输入整数5后无任何返回值。
而正常情况应该是输入5之后,会得到10000-99999的所有水仙花数。

/*水仙花数是指一个N位正整数(N>=3),它的每个位上的数字的N次幂之和等于它本身。
要求编写程序,计算所有的N位水仙花数。
输入在一行中给出一个正整数N(3<=N<=7)。
按递增顺序输出所有N位水仙花数,每个数字占一行。
*/
#include<stdio.h>
int main(){

int n;
printf("请输入一个正整数:");
scanf("%d",&n);
int i;
int first=1;
int b;
int sum=0;
int c;

for(i=1;i<n;i++){
    first*=10;
}
i=first;
while(i<first*10){
    c=i;
    while(c>0){
        b=c%10;
        int s=1;
        int p=b;
        while(s<n){
            p*=b;
            s++;
        }
        sum+=p;
        c/=10;
    }
    if(sum==i){
        printf("%d\n",i);
    }i++;
}
return 0;

zhouxin@zhouxindeMacBook-Pro C % cd "/Users/zhouxin/Desktop/C/" && gcc 水仙花数.c -o 水仙花数 && "/Users/zhouxin/Deskto
p/C/"水仙花数
请输入一个正整数:5
zhouxin@zhouxindeMacBook-Pro C %

  • 写回答

1条回答 默认 最新

  • ...404 Not Found 2022-06-24 20:35
    关注

    你sum每次不初始化为0吗,你从一开始就一直累加sum肯定不等

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 7月2日
  • 已采纳回答 6月24日
  • 修改了问题 6月24日
  • 创建了问题 6月24日

悬赏问题

  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答