以下为可能的实现代码:

#include <iostream>
using namespace std;

int minInput() {
    int minVal, currVal;
    bool firstInput = true;
    char inputChar;

    cout << "请输入若干个整数,以'#'作为结束标记:" << endl;

    while (true) {
        cin >> inputChar;
        if (inputChar == '#') {
            break;
        }
        // 如果输入的不是数字,则忽略
        if (!isdigit(inputChar)) {
            continue;
        }
        cin.putback(inputChar);
        cin >> currVal;
        if (firstInput || currVal < minVal) {
            minVal = currVal;
            firstInput = false;
        }
    }

    return minVal;
}

int main() {
    int minValue = minInput();
    cout << "最小值为:" << minValue << endl;
    return 0;
}

这个函数不断从键盘读取字符,直到遇到 '#' 字符为止。如果读取的字符是数字,则将其转换成整数,并与之前的最小值比较,更新最小值。最后,返回最小值。需要注意的是,如果输入的不是数字,则需要忽略。此外,该函数使用了一个布尔变量 firstInput 来判断是否是第一次输入,以便在第一次输入时正确地初始化最小值。

C++ 找出键盘输入整数中的最小值

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

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