#include
int main()
{
int a,i,sum;
for(a=0;a<=1000;a++)
{
sum=0;
for(i=1;i<a;i++)
if(a%i==0)
sum+=i;
if(i==a)
if(sum==a)
{
printf("%d its factors are ",a);
for(i=1;i<a;i++)
{
if(a%i==0)
{
if(i==1)
printf("%d",i);
else
printf(",%d",i);
}
}
if(i==a)
printf("\n");
}
}
return 0;
}
请问我怎么把最后一行的换行去掉?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
6条回答 默认 最新
- 清风不识字12138 2017-11-28 01:35关注
首先你的程序中for循环嵌套的有点多,其次你的第二个for循环和第三个for循环都是定义了i为循环值,这个容易出错,也不易读。
还有就是你的printf("\n")的判断条件是多余的,最内层(第三个)for循环结束的条件就是i==a,所以从for循环结束后的if(i == a )
始终为真,这个判断条件完全可以去掉。
然后你的问题是想把最后一个换行去掉,你可以把判断是否换行的语句换个位置将它放在printf("%d its factors are ", a)语句之前,
这样做就不会在最后一行进行换行,但是会在第一行换行,你可以将判断条件再改成if(a!=6) printf("\n")解决 2无用
悬赏问题
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
- ¥15 ETLCloud 处理json多层级问题
- ¥15 matlab中使用gurobi时报错
- ¥15 这个主板怎么能扩出一两个sata口
- ¥15 不是,这到底错哪儿了😭
- ¥15 2020长安杯与连接网探
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么