『壹』 如何用c語言列印1000以內的完數

// 本程序演示一個數如果恰好等於它的因子之和,這個數就稱為「完數」。例如6=1+2+3.編程找出1000以內的所有完數
#include"stdio.h"
main()
{
int i,j,s,sum;
printf("完數:\n") ;
sum=0;
for(i=2;i<=1000;i++)
{ s=0; ;//此處s=0一定要加,因為前幾次循環的時候s的值已經改變 。清零
for(j=1;j<i;j++)
{
if(i%j==0)//這一塊是如果能夠整除,那麼就是該數的因子,我們累加起來

{s+=j;
}
}
if(s==i) //因子的和與原數比較,如果正確就輸出
{printf("%d\n",i);
sum++;
}
}
printf("完數的個數:%d\n",sum);
}

『貳』 用C語言編寫求1000內的完數。。。

你如果是想學編程,這個程序是很簡單的,最好自己寫寫,然後自己調試一下,那樣你才能進步哦。我給你貼一個代碼,你自己作參考就是了哈,還有其他的寫法

#include<stdio.h>
void main()
{
int n,i,a;
for(n=2;n<=1000;n++)
{
a=0;
for(i=1;i<=n/2;i++)
if(n%i==0)
a=a+i;
if(a==n)
{ printf("%-5d its factors are 1",n);
for(i=2;i<n;i++)
if(n%i==0)
printf(",%d",i);
printf("\n");
}
}
printf("\n");
}

『叄』 1000以內的完數 c語言

#include<stdio.h>
int main()
{
int a,b,c;
a=1;
while(a<1000)
{
a++;
c=0;
b=1;//當執行完下面的while(b<a)後應給b重新賦值,你原來的位置並沒重新賦值

while(b<a) //我覺的改成 for(b=1;b<=a/2;b++) 循環里的b++就不要了,會更好些,b重 新 賦值 且 減 少了循環
{
if((a%b)==0) c=c+b;
b++;
}
if(c==a) printf("%d\n",a);
}
return 0;
}

『肆』 C語言編程,找出1000內的所有完數。

完數,即完全數(Perfect number),又稱完美數或完備數,是一些特殊的自然數。其所有的真因子(即除了自身以外的約數)的和(即因子函數),恰好等於本身。
根據該定義 可以得出判斷完數的函數如下:
#include <stdio.h>
int is_perfect_number(int n)
{
int i,s=0;
for(i = 1; i <=n/2; i ++)
if(n%i == 0) s+= i;//統計所有真因子的和。
if(s == n) return 1;//如果與原值相等,則該數為完數。

return 0;//不是完數。
}
根據該函數,只需要對需要列印的范圍內1 ~1000做遍歷,並逐一調用該函數判斷,如果返回1則列印即可。
完整代碼如下:
#include <stdio.h>
int is_perfect_number(int n)
{
int i,s=0;
for(i = 1; i <=n/2; i ++)
if(n%i == 0) s+= i;//統計所有真因子的和。
if(s == n) return 1;//如果與原值相等,則該數為完數。

return 0;//不是完數。
}

int main()
{
int n;
for(n = 1; n < 1000; n++)
if(is_perfect_number(n)) printf("%d,",n);
}

『伍』 用c語言 輸出1~1000的所有完數

# include <stdio.h>
int ws(int n)
{
int i,k,j=0;
for (i=1;i<n;i++)
{
k=n%i;
if (k==0)
j+=i;
}
if (j==n)
return 1;
else
return 0;
}
void main()
{
int i,result;
for (i=1;i<=1000;i++)
{
result=ws(i);
if (result==1)
printf("%d ",i);
}
}

『陸』 C語言,求1000內的完數並輸出其因子

你的演算法有問題。

大致修改後,但是還是運行會異常。
#include <stdio.h>
void main()
{
int i,t,n=0,sum=0,m=0;
int a[50]={0};// 增加={0}
for(i=2;i<=1000;i++)
{
//a[50]={0}; // 去掉
for(t=1;t<i;t++)
{
if(i%t==0)
{
a[n]=t;
n++;
sum=sum+a[n];
}
if(i==sum)
{
printf("%d\n",i);
while(a[m]!=0&&m<=50)// 修改a[m!=0&&m<=50]為a[m]!=0&&m<=50
{
printf("%d\t",a[m]);
m++;
}
}
}
}
}

修改演算法後代碼:

#include<stdio.h>

int main()
{
int i=1;
int sum=0;
int x=1;

for(i=1; x<=1000; ++i)
{
x *= i;
sum += i;

if(x == sum)
{
printf("%d\n",x);
}
}

return 0;
}

『柒』 C語言。編寫程序求1000以內的所有完數,並顯示輸出。

#include<stdio.h>
voidgetPerfectNumber(intn){
intk[100],kc=0,ks=0;
for(inti=1;i<=n;i++){
for(intj=1;j<=i/2;j++){
if(i%j==0)
k[kc++]=j;
}
for(intj=0;j<kc;j++){
ks+=k[j];
k[j]=0;
}
if(ks==i)
printf("%d ",i);
kc=0;
ks=0;
}
}

intmain()
{
getPerfectNumber(1000);
return0;
}

『捌』 用C語言輸出1000以內所有的完數

用C語言輸出1000以內所有的完數步驟如下:

1、首先打開vc6.0,新建一個項目。

『玖』 用C語言找出1000以內的完數。

用C語言輸出1000以內所有的完數步驟如下:

1、首先打開vc6.0,新建一個項目。內