写一个C++程序,判断一个字符串是否为合法数字
时间: 2023-10-26 16:10:40 浏览: 125
以下是一个简单的C++程序,用于判断一个字符串是否为合法数字:
```c++
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
bool is_number(const string& str) {
// 如果字符串为空,则不是数字
if (str.empty()) return false;
// 遍历字符串中的每个字符,判断是否是数字
for (char ch : str) {
if (!isdigit(ch)) {
// 如果不是数字,则不是合法数字
return false;
}
}
// 如果所有字符都是数字,则是合法数字
return true;
}
int main() {
string str;
cout << "请输入一个字符串:";
getline(cin, str);
if (is_number(str)) {
cout << "是合法数字" << endl;
} else {
cout << "不是合法数字" << endl;
}
return 0;
}
```
这个程序通过 `is_number()` 函数来判断一个字符串是否为合法数字。这个函数首先判断字符串是否为空,如果为空则不是数字。接着遍历字符串中的每个字符,如果有任何一个字符不是数字,则不是合法数字。最后,如果所有字符都是数字,则是合法数字。
在 `main()` 函数中,我们首先获取用户输入的字符串,然后调用 `is_number()` 函数来判断它是否为合法数字。如果是,则输出 `"是合法数字"`,否则输出 `"不是合法数字"`。
阅读全文