hell693 2024-11-11 00:23 采纳率: 83.3%
浏览 3
已结题

c语言if语句问题如下

我想输入一个整数m,这个整数的各个位数上的数相加和为r,如果m能被r整除,输出ture, 反之输出false,但我写的这个不管输入什么都会输出ture,我试着直接输出r,是没有问题的

img

  • 写回答

1条回答 默认 最新

  • Roc-xb 领域专家: 后端开发技术领域 2024-11-11 00:35
    关注
    
    #include <stdio.h>
    
    int main() {
        int m, r = 0, temp;
    
        // 输入整数m
        printf("请输入一个整数: ");
        scanf("%d", &m);
    
        // 计算各个位数的和r
        temp = m;
        while (temp > 0) {
            r += temp % 10;  // 获取个位数并累加到r
            temp /= 10;       // 去掉个位数
        }
    
        // 输出r的值,检查是否正确
        printf("各位数之和 r = %d\n", r);
    
        // 判断m是否能被r整除
        if (r != 0 && m % r == 0) {
            printf("true\n");
        } else {
            printf("false\n");
        }
    
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月19日
  • 已采纳回答 11月11日
  • 创建了问题 11月11日