【小学】三做一年级算术题

发布时间 2023-03-26 14:47:19作者: 无情的codingbot
两个一年级小朋友在一起玩游戏,小明给出一堆一位的正整数和运算要求(+、-、*、/、%),小丽要找出这些整数中的最大值和最小值,然后按照小明的要求算出最大数与最小数进行算术运算的结果。

输入:
    用逗号分隔的一位正整数序列,及其运算符和等号

输出:
    最大数 op 最小数=结果

 

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void main()
{
    char min = 57, max = 48;
    char op, ch;

    while (scanf("%c,", &ch), ch >= 48 && ch <= 57)
    {
        if (ch <= min)
            min = ch;
        if (ch >= max)
            max = ch;
    }
    op = ch;
    switch (op)
    {
    case '+':printf("%c%c%c=%d\n", max, op, min, max + min-48-48);break;//把一个char按%d输出输出的是ASCII值,即使这个char是一个数字字符,也休想直接翻译成那个数字本身
    case '-':printf("%c%c%c=%d\n", max, op, min, max - min);break;
    case '*':printf("%c%c%c=%d\n", max, op, min, (max-48) * (min-48));break;
    case '%':
    {
        if (min == '0')
            printf("Error!\n");
        else
        {
            printf("%c%c%c=%d\n", max, op, min, (max - 48) % (min - 48));
            break;
        }
    }
    case '/':
    {
        if (min == '0')
            printf("Error!\n");
        else
        {
            printf("%c%c%c=%d\n", max, op, min, (max-48) / (min-48));
            break;
        }
    }
    }
}