c程序在vc中运行的问题

来源:百度知道 编辑:UC知道 时间:2024/06/04 08:41:33
#include<stdio.h>
int main()
{
int i,j,s,t,k[11];
for(i=2;i<1000;i++)
{
s=0;
t=1;
for(j=1;j<i;j++)
if(i%j==0)
{
s=s+j;
k[t]=j;
t++;
}
if(i==s)
{
printf("%4d ",i);
for(j=1;j<t;j++)
printf("%d,",k[j]);
}
}
return 0;
}
为什么在vc6.0中运行输出会少了496数,只是输出6和28这两个完数呀!!

汗。。。我搞了半天才找出毛病 - - 惭愧~~~
数组给的个数少了,因为虽然496只有9个因子但是其他数有多个因子,有可能超过11的,所以会出现这样的错误,经我试验,k[11]改为k[50]就能成功了~~~~加油!