gpt4 book ai didi

c.编程,代码不起作用

转载 作者:行者123 更新时间:2023-11-30 19:56:06 24 4
gpt4 key购买 nike

我的程序是检查一个数字是否是完美数字我遇到运行时错误,请帮忙如果重要的话我正在使用 Notepad++

#include <stdio.h>

int main(void)
{
int input=0;
int i=0;
int counter=0;

printf("enter a number \n");
scanf("%d", &input);
for (i=0;i<=input;i++)
{
if (input%i==0)
{
counter = counter+i;
}
}
if (input==counter)
{
printf("%d in a perfect number\n", counter);
}
else
{
printf("%d is not a perfect number\n", input);
}
system("pause");
return 0;
}

最佳答案

input % i 返回 input 除以 i 时的余数。但您不能将数字除以0,因此输入 % 0 会导致未定义的行为。

将循环更改为从 1 开始,而不是从 0 开始。另外,您应该在 i 到达 number 之前停止,因为该数字始终是其自身的除数,但不应包含在将除数相加时求和(一个数怎么可能等于其自身与所有除数之和?)。

for (i = 1; i < number; i++)

关于c.编程,代码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41153929/

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