以下是一个示例代码,展示如何从键盘输入若干个整数,并返回其中的最小值,输入 '#' 字符作为结束标记:

#include <iostream>
using namespace std;

int minInput() {
    int minNum, num;  // minNum记录当前最小值,num记录输入的数
    bool firstInput = true;  // 是否是第一次输入标记
    char ch;  // 记录输入的字符
    while (true) {
        cin >> ch;
        if (ch == '#') {  // 输入结束,返回最小值
            return minNum;
        }
        else if (ch >= '0' && ch <= '9') {  // 输入的是数字,进行累加
            num = ch - '0';  // 将字符转为数字
            while (true) {
                cin >> ch;
                if (ch >= '0' && ch <= '9') {
                    num = num * 10 + (ch - '0');
                }
                else if (ch == '#') {
                    return minNum;
                }
                else {
                    break;
                }
            }
            if (firstInput) {  // 第一次输入,将num赋值给minNum
                minNum = num;
                firstInput = false;
            }
            else if (num < minNum) {  // num小于minNum,更新minNum
                minNum = num;
            }
        }
    }
}

int main() {
    cout << "请输入若干个整数,以'#'结束:" << endl;
    int minNum = minInput();
    cout << "输入的最小值为:" << minNum << endl;
    return 0;
}

该函数通过循环从键盘输入字符,如果输入的是数字,则将其累加起来,如果输入的是 '#',则返回当前的最小值。在输入数字时,需要注意可能会有多位数字,需要将其累加起来,直到遇到非数字字符为止。在输入第一个数字时,将其赋值给 minNum 作为初始最小值,后面输入的数字如果小于 minNum,则更新 minNum。

C++ 获取键盘输入整数的最小值:高效算法实现

原文地址: https://www.cveoy.top/t/topic/oJNR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录