企鹅飞翔倒计时 2022-04-06 21:23 采纳率: 33.3%
浏览 63
已结题

帮俺看看哪里不对,big佬们,

img


我有改了一下还是不对,大家看一下
#include <stdio.h>

int main()
{
int x,i,sum=0;
scanf("%d",&x);
for(i=1;i<x;i++)
{
if(x%i==0)
sum+=i;
}
if(x==sum)
printf("%d its factors are",x);
else printf("%d is not",x);
for(i=1;i<x;i++)
{
if(x%i==0)
printf("%d",i);
}
return 0;
}

  • 写回答

3条回答 默认 最新

  • soar3033 2022-04-06 21:29
    关注

    sum的初值应该是0,你一开始没有加任何i,sum应该是0;此外,你的完数判断应该在循环外

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月14日
  • 已采纳回答 4月6日
  • 修改了问题 4月6日
  • 修改了问题 4月6日
  • 展开全部

悬赏问题

  • ¥60 Python如何后台操作Vmwake虚拟机键鼠
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容