用C语言输出1000以内所有的完数

2024-12-03 11:36:29
推荐回答(5个)
回答1:

用C语言输出1000以内所有的完数步骤如下:

1、首先打开vc6.0,新建一个项目。

2、添加头文件。

3、添加main函数。

4、定义i,j,k,n,sum。

5、定义一个数组。

6、使用第一层for循环。

7、使用第二层for循环,用来求出每位的数字。

8、使用if条件判断语句。

9、运行程序看看结果。

回答2:

#include
int main()
{ int i,n,sum;
  for(n=1; n<=1000; n++)
  { sum=0;
    for(i=1; i    { if(n%i==0)
      { sum=sum+i;
      }
    } //括号的位置作了更改,要循环结束后再判断是否相等 
    if(sum==n)
    { printf("%4d",n);
    }
  }
  return 0;
}

回答3:

#include
int main()
{
       int i,n,sum;//
       for(n=1;n<=1000;n++)
       {
              sum=0;
              for(i=1;i              {
                     if(n%i==0)
                     {sum=sum+i;}
                     //if(sum==n)
                     //{printf("%4d",n);}
              }
              if(sum==n)
                     {printf("%4d",n);}
       }
       return 0;
}

回答4:

#include
//构造一个方法用来自动向数组中添加新元素;
void add(int a[],int j){
int i;
for(i=0;i<100;i++){
if(a[i]=='\0'){
a[i]=j;
break;
}
}
}
void main(){
int n=0,i=0,sum;
//静态变量;
static int m[10];
for(n = 2;n<=1000;n++){
sum=0;
for(i=1;iif(n%i==0){
sum = sum+i;
add(m,i);
}
}
if(sum==n){
printf("%d是合数\n",n);
printf("包含的因子有:\n");
for(i=0;i<10;i++){
if(m[i]=='\0'){
break;
}
printf("%d\n",m[i]);
}

}else{
//初始化数组元素;
for(i=0;i<10;i++){
m[i]='\0';
}
}
}
}

回答5:

你的if函数一直在循环