gpt4 book ai didi

c - 为什么这些 while 循环不混合我给它们的数字?

转载 作者:行者123 更新时间:2023-11-30 16:11:46 25 4
gpt4 key购买 nike

我正在尝试编写一个简单的程序,遍历从 2 开始的每个数字,并查看它是否是阿姆斯特朗数字。意思是,我应该在 153 处获得匹配。但是,我一直在尝试让这两个嵌套循环一起工作,但我没有看到任何东西。

我尝试了 2 个循环。我尝试只有一个循环。我知道要求输入会更容易,但我想遍历每个数字,并在找到第一个出现问题的数字时打破循环。

#include <stdio.h>
#include <math.h>
#include <stdbool.h>

int main()
{
int remainder_, cubic_power, sum_, placeholder;

bool check = true;
int i=2;
while(check){
placeholder = i;
printf("i is %d and placeholder is %d \n", i, placeholder);
while(placeholder!=0){
remainder_ = placeholder%10;
cubic_power = remainder_*remainder_*remainder_;
sum_+=cubic_power;

placeholder = placeholder/10;
Sleep(1500);
}
printf("Number being test %d \n", placeholder);
printf("Sum is %d \n", sum_);
if (sum_ == i){
printf("%d is your number \n");
bool check=false;
}
i++;
printf("i is %d \n", i);

}

}

它应该在 153 处中断,但事实并非如此。

最佳答案

每次开始测试新数字时都初始化 sum_

bool check=false;中,删除bool。它定义了一个名为 check 的新实例,与之前名为 check 的实例不同,因此它不会更改之前 check 的值。删除类型 bool 使其成为更改先前对象的赋值语句,而不是新对象的定义。

printf("%d is your number\n"); 中,在格式字符串之后、右括号之前插入 , i

打开编译器警告和错误并注意它们。

关于c - 为什么这些 while 循环不混合我给它们的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58509079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com