大家帮忙改一下这个错误程序吧!

#include"stdio.h"main(){intn,k=2,i;for(i=2;i<=100;i++){n=i;printf("%d\n",n);while(k!=... #include "stdio.h"
main()
{
int n,k=2,i;
for(i=2;i<=100;i++)
{
n=i;
printf("%d\n",n);
while(k!=n)
{
if(n%k==0)
{
printf("%d\n",k);
n=n/k;
}

else
k++;
}
printf("%d\n",k);

}
}
我本来想编个小程序,把100以内的数全部分解质因数,结果程序只是把2--100的每一个数都输出了两遍,并没有进入while循环进行分解质因数,真想不通是那里错了,求高手帮助,谢谢啦!!!
展开
 我来答
魂大人的店铺
2010-02-16 · TA获得超过1590个赞
知道小有建树答主
回答量:1129
采纳率:75%
帮助的人:474万
展开全部
我改了一下

#include "stdio.h"
void main()
{
int n,k=2,i;
for(i=2;i<=100;i++)
{
n=i;
printf("%d\n",n);
k=2;
while(k!=n)
{
if(n%k==0)
{
printf("%d\n",k);
n=n/k;
}

else
k++;
}
printf("%d\n",k);

}
}

你没有对K初始化

#include "stdio.h"
void main()
{
int n,k=2,i;
for(i=2;i<=100;i++)
{
n=i;
printf("%d ",n);
k=2;
while(k!=n)
{
if(n%k==0)
{
printf("%d ",k);
n=n/k;
}

else
k++;
}
printf("%d\n",k);

}
}

这个结果看起来更方便点
匿名用户
2010-02-16
展开全部
修改如下:

//---------------------------------------------------------------------------

#include "stdio.h"
main()
{
int n,k=2,i;
for(i=2;i<=100;i++)
{
n=i;
printf("%d\n",n);
k=2; /*注意这里*/
while(k!=n)
{
if(n%k==0)
{
printf("%d\t",k); /*注意这里,用\t输出的格式便于阅读*/
n=n/k;
}

else
k++;
}
printf("%d\n",k);

}
}

//---------------------------------------------------------------------------
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式