fly-1 2023-06-17 14:18 采纳率: 20%
浏览 29
已结题

有关C语言打印输出问题

这行代码为什么可以不输出最后多余的那个*号

img


源代码如下:

main ()
{
    int num;
    int i;
    printf("输入一个正整数:");
    scanf("%d", &num);
    for (i = 2; i <= num; i++)
    {
        if (i != num)
        {
            while (num % i == 0)
            {
                printf("%d*", i);
                num = num / i;
            }
        }
        else
            break;

    }
    printf("%d", num);
}

  • 写回答

4条回答 默认 最新

  • threenewbee 2023-06-17 14:21
    关注

    if (i != num)
    也就是不是最后一个数字才会输出 数字 *
    而最后一个数字的输出是 printf("%d", num)
    因此输出了n个 xxx * 再加上一个 xxx 没有乘号
    这个代码其实还有一种思路,就是第一次输出 xxx
    之后每次输出 * xxx

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

报告相同问题?

问题事件

  • 系统已结题 6月25日
  • 已采纳回答 6月17日
  • 创建了问题 6月17日

悬赏问题

  • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
  • ¥15 数字信号处理考试111
  • ¥100 关于#audobe audition#的问题,如何解决?
  • ¥15 allegro17.2生成bom表是空白的
  • ¥15 请问一下怎么打通CAN通讯
  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥15 高通uboot 打印ubi init err 22