紧擦菊菊长 2018-12-05 05:15 采纳率: 100%
浏览 343
已采纳

C++,新手求助,一个很简单的问题帮我解释一下

求输出1000以内各个位数相加等于9的数字。下面是我打的,我想每5个数空一行,上面的程序能达到想要的结果,下面的不行,但我不懂导致这两种不同结果的原因是什么,它们有什么区别,麻烦解释一下,谢谢,

#include <stdio.h>
int main(void)
{
    int i,a=0,b=0,c=0,sum,x=0;
    for(i=0;i<=999;i++)
    {
        a=i%10;
        b=(i/10)%10;
        c=i/100;
        sum=a+b+c;
        if(sum==9)
        {
            printf("%d,",i);
            x++;
      if(x%5==0)
            printf("\n");
        }
    }
}
#include <stdio.h>
int main(void)
{
    int i,a=0,b=0,c=0,sum,x=0;
    for(i=0;i<=999;i++)
    {
        a=i%10;
        b=(i/10)%10;
        c=i/100;
        sum=a+b+c;
        if(sum==9)
        {
            printf("%d,",i);
            x++;
        }
        if(x%5==0)
            printf("\n");
    }
}
  • 写回答

3条回答 默认 最新

  • 智者知已应修善业 2018-12-05 06:13
    关注

    你这样写输出换行的判断要注意求余=0的各种情况,通过分析可知第一循环i=0,x=0,第二循环i=1, x=0;这样的情况
    可以改一下判断条件:
    if(x==5) {x=0;printf("\n");}你再试看会不会?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 openwrt双栈NAT
  • ¥15 部分网页页面无法显示!
  • ¥15 怎样解决power bi 中设置管理聚合,详细信息表和详细信息列显示灰色,而不能选择相应的内容呢?
  • ¥15 QTOF MSE数据分析
  • ¥15 平板录音机录音问题解决
  • ¥15 请问维特智能的安卓APP在手机上存储传感器数据后,如何找到它的存储路径?
  • ¥15 (SQL语句|查询结果翻了4倍)
  • ¥15 Odoo17操作下面代码的模块时出现没有'读取'来访问
  • ¥50 .net core 并发调用接口问题
  • ¥15 网上各种方法试过了,pip还是无法使用