题目想实现输入0后再开始判断是否是水仙花数,但我写的是输入一个数就去判断,那我怎么修改才能实现题目的要求?
在while 前面加个判断
printf("你想开始判断吗?,输入0则开始判断:");
int choice = null;
scanf("%d",&choice);
if (choice == 0)
{
while()//while放在这里
}
else
{
printf(“好长时间没写C了。哈哈,这个题让我想起了以前学C的日子,真怀念”)
}
我觉得你的程序问题不在于输出不符合题目要求,不然可以把输出结果先保存到一个bool
数组里,等全部输入处理完以后再循环遍历bool
数组输出结果。
而在于程序有逻辑错误(每次循环的初值设定)。
1.输入一个就判断一个是没关系的,评测程序只检查输出是否正确,不在乎你什么时候输出。
2.你的程序有bug:比如
sum
要在while
循环内置0,for
循环中没有更新n
的值,导致t
每次都是相同的。下面我写的这个应该能Accepted,很容易理解,就不加注释了。