c语言水仙花数

烟雨酒歌 2019-12-29 12:37:52
为什么这个代码运行不了。 求大神指教 #include<stdio.h> int main(){ int i,j, m,n, a, b; int flag=0; printf("输入第一个正整数:"); scanf("%d",&a); printf("输入第二个正整数:"); scanf("%d",&b); if((a>99&&b>99)&&(a<1000&&b<1000)) { if(a<b){ for(n=a;n<=b;n++) { i=n/100; j=n/10-i*10; m=n%10; if(n==i*i*i+j*j*j+m*m*m) { printf("这两个之间数的水仙花数为:%d\n",n); flag=1; } } } else { for(n=b;n<=a;n--) i=n/100; j=n/10-i*10; m=n%10; if(n==i*i*i+j*j*j+m*m*m) { printf("这两个之间数的水仙花数为:%d\n",n); flag=1; } } if(flag==0) printf("两个数之间没有水仙花数"); } else printf("你输入的两个数无效!\n"); return 0; }
...全文
125 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_1457346882 2019-12-30
  • 打赏
  • 举报
回复
#include<stdio.h>
int main(){
int i,j, m,n, a, b;
int flag=0;
printf("输入第一个正整数:");
scanf("%d",&a);
printf("输入第二个正整数:");
scanf("%d",&b);
if((a>99&&b>99)&&(a<1000&&b<1000))
{
if(a<b){
for(n=a;n<=b;n++)
{
i=n/100;
j=n/10-i*10;
m=n%10;
if(n==i*i*i+j*j*j+m*m*m)
{
printf("这两个之间数的水仙花数为:%d\n",n);
flag=1;
}
}
}
else
{
for(n=b;n<=a;n--){
i=n/100;
j=n/10-i*10;
m=n%10;
if(n==i*i*i+j*j*j+m*m*m)
{
printf("这两个之间数的水仙花数为:%d\n",n);
flag=1;
}
}
if(flag==0)
printf("两个数之间没有水仙花数");
}
}
else
printf("你输入的两个数无效!\n");
return 0;
}
养成良好的代码规范,格式对对齐,{}不要省略,哪怕就一句执行语句。不然错了找都不好找

Chris Brown 2019-12-29
  • 打赏
  • 举报
回复
貌似丢了括号 比如for(n=b;n<=a;n--)这里

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧