鱼C论坛

 找回密码
 立即注册
查看: 1332|回复: 12

[已解决]很短的问题的求助

[复制链接]
发表于 2020-1-27 10:20:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>

int main()

{int a=1,b=1,c=1;

double sm=(a*a*a)+(b*b*b)+(c*c*c),tn=a*100+b*10+c;

for(;a<10;a++)

{

for(;b<10;b++)

{

for(;c<10;c++)

{sm=(a*a*a)+(b*b*b)+(c*c*c);

tn=a*100+b*10+c;

if(sm==tn)

printf("%d\n",(sm));


}

}

}


return 0;

}

没有error,执行结果是一次’\n'
最佳答案
2020-1-28 15:07:03
#include <stdio.h>
int main()
{
        int a,b,c;
        int i;
        printf("1000以内的水仙花数有:\n");
        for(i=100; i<1000; i++)
        {
                a = i % 10; //分解出个位
                b = (i / 10) % 10; //分解出十位
                c = i / 100; //分解出百位

                //判断三个数的立方数和是否等该数本身,若是就打印出来
                if(a * a * a + b * b * b + c * c * c == i) 
                        printf("%d\t\n", i);
        }
        return 0;
}
很简洁的程序被你整的那么复杂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-1-27 10:36:07 From FishC Mobile | 显示全部楼层
自顶
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-1-27 10:55:09 | 显示全部楼层
for循环里面给a,b,c赋初值。
可能是因为在第一个for循环里面,b和c没有赋值,导致循环没有开启
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-27 11:07:52 | 显示全部楼层
应该是没有这样的数,a,b,c都在变,sm和tn都在变,值不定
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int a=1,b=1,c=1;
    double sm = (a*a*a)+(b*b*b)+(c*c*c),tn = a*100+b*10+c;
    int flag=0;
    for(;a<10;a++)
    {
        for(;b<10;b++)
        {
            for(;c<10;c++)
            {
                sm = (a*a*a)+(b*b*b)+(c*c*c);
                tn = a*100+b*10+c;
                if(sm==tn)
                {
                    printf("%d\n",sm);
                    flag = 1;
                    //break;
                }

            }
        }
    }
    if(!flag)
    {
        printf("没有这样的数\n");
    }

    system("pause");
    return 0;
}

输出
没有这样的数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-27 11:11:31 From FishC Mobile | 显示全部楼层
楼上用的什么编译器?代码和运行结果在一个界面啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-27 11:27:56 From FishC Mobile | 显示全部楼层
最后的魁拔 发表于 2020-1-27 11:07
应该是没有这样的数,a,b,c都在变,sm和tn都在变,值不定

题目要求输出1000以下所有符合a+b+c=a*100+b*10+c的数,不知道咋改
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-27 11:31:36 From FishC Mobile | 显示全部楼层
最后的魁拔 发表于 2020-1-27 11:07
应该是没有这样的数,a,b,c都在变,sm和tn都在变,值不定

多级循环体里不支持变量在等式左右同时变换吗?我现在感觉似乎是这样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-27 11:35:24 | 显示全部楼层
轩攻re 发表于 2020-1-27 11:27
题目要求输出1000以下所有符合a+b+c=a*100+b*10+c的数,不知道咋改

那你这个到底是a,b,c的立方和还是就a,b,c的和啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-27 12:35:41 From FishC Mobile | 显示全部楼层
最后的魁拔 发表于 2020-1-27 11:35
那你这个到底是a,b,c的立方和还是就a,b,c的和啊

立方和
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-27 14:00:00 | 显示全部楼层
能把原题发一下吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-27 15:03:51 From FishC Mobile | 显示全部楼层
最后的魁拔 发表于 2020-1-27 14:00
能把原题发一下吗

假设一个数例如135,135=1+5+3,这种数叫完数。求1000以内所有完数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-27 15:24:49 | 显示全部楼层
轩攻re 发表于 2020-1-27 15:03
假设一个数例如135,135=1+5+3,这种数叫完数。求1000以内所有完数

这个不就是水仙花数吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-28 15:07:03 | 显示全部楼层    本楼为最佳答案   
#include <stdio.h>
int main()
{
        int a,b,c;
        int i;
        printf("1000以内的水仙花数有:\n");
        for(i=100; i<1000; i++)
        {
                a = i % 10; //分解出个位
                b = (i / 10) % 10; //分解出十位
                c = i / 100; //分解出百位

                //判断三个数的立方数和是否等该数本身,若是就打印出来
                if(a * a * a + b * b * b + c * c * c == i) 
                        printf("%d\t\n", i);
        }
        return 0;
}
很简洁的程序被你整的那么复杂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 03:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表