题目

从标准输入读入两个整数 a、b,依次输出和、差、积、整数商;若 b 为 0,不要做除法。

思路

scanf("%d %d", &a, &b) 一次读入两数;和、差、积直接算术表达式输出。商写 a / b 前必须判断 b != 0,否则只打印无法整除的说明,避免对 0 做除法。 若 scanfprintf 格式串不熟,可先对照 C 语言输入输出:printf 与 scanf

解题分析

四个结果彼此独立,读入成功后分别计算即可。差是 a-b 不是 b-a;积用 *;商是整数除法,余数直接丢掉。

  • b==0 时不要执行 a/b,先分支再除。
  • scanf 返回值等于读到的项数,本题应检查是否为 2。

完整程序

#include <stdio.h>

int main(void)
{
    int a, b;
    if (scanf("%d %d", &a, &b) != 2) {
        return 1;
    }
    printf("和: %d\n", a + b);
    printf("差: %d\n", a - b);
    printf("积: %d\n", a * b);
    if (b != 0) {
        printf("商: %d\n", a / b);
    } else {
        printf("商: 除数为 0,无法整除\n");
    }
    return 0;
}

运行示例

输入:

7 2

输出:

和: 9
差: 5
积: 14
商: 3