はるはるはる 2017-11-27 15:07 采纳率: 0%
浏览 4374

请问我怎么把最后一行的换行去掉?

#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;
}图片图片图片

  • 写回答

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")

    评论

报告相同问题?

悬赏问题

  • ¥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的速度时间图像)我想问线路信息是什么