2301_79364069 2023-10-27 10:41 采纳率: 75%
浏览 6
已结题

为什么输出每一位的数字 这么写是正确的(深蓝色的地方) 有点无法理解 有人可以解释一下吗

img


为什么输出每一位的数字 这么写是正确的(深蓝色的地方) 有点无法理解 有人可以解释一下吗

  • 写回答

2条回答 默认 最新

  • 庞加莱的算法空间 2023-10-27 10:56
    关注

    这个是利用了一点点数学原理哈,首先呢,c语言里的除法是"整型除法",是只保留整数部分,丢弃余数的哈。比如346/10=34
    遇到这种看起来有点抽象的代码,可以尝试举个实际的例子。比如一个五位数12345,那么按照你的代码,
    c=1, d=12, e=123, f=1234, g=12345,那么你可以再看一下蓝色部分的代码,恰好可以输出每个位置上的数字。不过,我感觉这个代码还可以再"自动化"一些,你看这么写可以嘛(如果你已经学习过循环while语句的话)

    int a; 
    scanf("%d", &a); // 输入正整数a
    while(a > 0){ // a>0说明a还有整数位没打印
      int d = a % 10; // 取出最低位的数字
      printf("%d", d); // 打印结果
      a = a / 10; // 这里a/10相当于是去掉了a的最低位,下一次循环可以准备处理倒数第二位
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月6日
  • 已采纳回答 10月29日
  • 创建了问题 10月27日

悬赏问题

  • ¥15 WPF RichTextBox格式化大量文本卡顿如何解决
  • ¥15 什么设备可以研究OFDM的60GHz毫米波信道模型
  • ¥15 不知道是该怎么引用多个函数片段
  • ¥15 pip install后修改模块路径,import失败,需要在哪里修改环境变量?
  • ¥15 爬取1-112页所有帖子的标题但是12页后要登录后才能 我使用selenium模拟登录 账号密码输入后 会报错 不知道怎么弄了
  • ¥30 关于用python写支付宝扫码付异步通知收不到的问题
  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 MATLAB联合adams仿真卡死如何解决(代码模型无问题)
  • ¥15 基于pso参数优化的LightGBM分类模型