C++ 找出键盘输入整数中的最小值
以下为可能的实现代码:
#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 来判断是否是第一次输入,以便在第一次输入时正确地初始化最小值。
原文地址: https://www.cveoy.top/t/topic/oJNY 著作权归作者所有。请勿转载和采集!