用C语言输出1000以内所有的完数步骤如下:
1、首先打开vc6.0,新建一个项目。
2、添加头文件。
3、添加main函数。
4、定义i,j,k,n,sum。
5、定义一个数组。
6、使用第一层for循环。
7、使用第二层for循环,用来求出每位的数字。
8、使用if条件判断语句。
9、运行程序看看结果。
#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;
}
#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;
}
#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;i
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';
}
}
}
}
你的if函数一直在循环