我有这个代码来自我的教授,它是关于找到丰富和有缺陷的数字。如果除x本身之外的所有整数除数之和小于x,则数字x有效。如果它大于x,那么它是丰富的。 没有编译错误,似乎一切都很好,但它只是没有打印任何东西,它没有得到任何结果。为什么?怎么了?
#include <stdio.h>
int main(void)
{
int x=1,y=1;
int sum=0;
while(x<100)
{
while(y<x)
{
if(x%y==0) {
sum=sum+y;
y++;
}
}
x++;
sum=0;
y=1;
}
return 0;
}
如果你能在这里帮助我,我将非常感激,提前谢谢。
答案 0 :(得分:7)
您的代码没有打印声明。您可能想要使用printf函数。
答案 1 :(得分:2)
问题在于:
while(y<x)
{
if(x%y==0) {
sum=sum+y;
y++;
}
}
每次迭代都应该推进Y:
while(y<x)
{
if(x%y==0) {
sum=sum+y;
}
y++;
}