注册 登录
编程论坛 C语言论坛

如何连续输入所有的三位数?我只能输入一个,而且回车也不停止了为啥?

张珂珂 发布于 2019-11-04 17:30, 3009 次点击
程序代码:
#include<stdio.h>
#include<math.h>
int main()
{
    int a,indiv,ten,hundred;
    printf("请输入一个三位数:");
    scanf("%d",&a);
    while(a>=99&&a<=1000)
    {
        indiv=a%10;
        ten=(a/10)%10;
        hundred=(a/100)%10;
    }
    if(indiv*indiv*indiv+ten*ten*ten+hundred*hundred*hundred==a)
        printf("%d是水仙花数",a);
    return 0;
}
   
   
只有本站会员才能查看附件,请 登录
11 回复
#2
纯蓝之刃2019-11-04 17:40
程序代码:
#include<stdio.h>
#include<math.h>
int main(void)
{
    int a,indiv,ten,hundred;
    printf("请输入一个三位数:");
    scanf("%d",&a);
    if(a>=99&&a<=1000)
    {
        indiv=a%10;
        ten=(a/10)%10;
        hundred=(a/100)%10;
    }
    else
        return 1;
    if(indiv*indiv*indiv+ten*ten*ten+hundred*hundred*hundred==a)
        printf("%d是水仙花数",a);
    return 0;
}
#3
张珂珂2019-11-04 17:43
回复 2楼 纯蓝之刃
可是我要输出所有的水仙花数啊,这个只能输出一个
#4
纯蓝之刃2019-11-04 17:47
回复 3楼 张珂珂
那你具体想输入什么,输出什么?输入和输出的关系又是什么?你要说清楚啊,我只是根据你的程序把他改正常了而已。
#5
张珂珂2019-11-04 17:50
回复 4楼 纯蓝之刃
哦,抱歉抱歉,我是想输出所有的水仙花数(水仙花数是一个三位数,其个位数字立方和等于该数本身),另外intmain(void)和return1是什么意思,看不懂
#6
纯蓝之刃2019-11-04 17:53
程序代码:
#include<stdio.h>
#include<math.h>
int main(void)
{
    int a,indiv,ten,hundred;
    printf("请输入一个三位数:");
    scanf("%d",&a);
    while(a>99&&a<1000)
    {
        indiv=a%10;
        ten=(a/10)%10;
        hundred=(a/100)%10;
        if(indiv*indiv*indiv+ten*ten*ten+hundred*hundred*hundred==a)
            printf("%d是水仙花数\n",a);
        a--;
    }
    return 0;
}
#7
张珂珂2019-11-04 17:58
回复 6楼 纯蓝之刃
为什么要a--啊,输入的不一定是999呀
#8
纯蓝之刃2019-11-04 18:01
回复 7楼 张珂珂
你你想输入个什么,a--是输出比你输入的数小的三位水仙花数。
#9
张珂珂2019-11-04 18:03
回复 8楼 纯蓝之刃
我想让他能够输出所有的水仙花数,这个我必须输999才能输出最小的
#10
纯蓝之刃2019-11-04 18:06
回复 9楼 张珂珂
头疼,不太明白你想表达什么,或者举个例子也可以
#11
林月儿2019-11-04 19:15
程序代码:

#include<stdio.h>
#include<math.h>
int main(void)
{
    int a,indiv,ten,hundred;
    //printf("请输入一个三位数:");
   
//scanf("%d",&a);
    for(a=100;a<1000;a++)
    {
        indiv=a%10;
        ten=(a/10)%10;
        hundred=(a/100)%10;
        if(indiv*indiv*indiv+ten*ten*ten+hundred*hundred*hundred==a)
        printf("\n%d是水仙花数",a);
    }
    return 0;
}

这样?

[此贴子已经被作者于2019-11-4 21:41编辑过]

#12
adminzj2019-11-05 01:57
我感觉LZ就是想求三位数内的水仙花数,但是写的程序又是判断输入的数是不是水仙花数
1