找完数的C语言题目,麻烦各位大神我是哪里错了啊

如题所述

从提示看是格式错误,第5行的scanf错写成5canf了。其实这个程序基本全错,不仅没有按题目要求,就是算法本身也是错误的,无法输出完数。由于程序已经全错,并不在于某一句或几句,就不详细写了,直接给出本题的程序:

#include <stdio.h>
int main()
{
int i,j,m,n,t,sum=0,c=0;
scanf("%d%d",&m,&n);
if(m>n) {t=m;m=n;n=t;}
for(i=m;i<=n;i++)
{
for(j=1;j<=i/2;j++)
if(i%j==0) sum+=j;
if(sum==i)
{
c=1;
printf("%d=1",i);
for(j=2;j<=i/2;j++)
if(i%j==0) printf("+%d",j);
printf("\n");
}
sum=0;
}
if(c==0) printf("None");
return 0;
}

温馨提示:内容为网友见解,仅供参考
无其他回答

找完数的C语言题目,麻烦各位大神我是哪里错了啊
从提示看是格式错误,第5行的scanf错写成5canf了。其实这个程序基本全错,不仅没有按题目要求,就是算法本身也是错误的,无法输出完数。由于程序已经全错,并不在于某一句或几句,就不详细写了,直接给出本题的程序:include <stdio.h>int main(){int i,j,m,n,t,sum=0,c=0;scanf("%d%d",...

c语言求2到1000内的所有完数【在线求各位赐教】
i1);}printf(" 这些数组成\\n");}sum=0;}return 0 ;}\/\/===以下是根据你的源码改动一了下,对比一下就知道哪错了===\/*#include <stdio.h>void main () {int a,b,s=0;for(a=2;a<=1000;a++)

相似回答