C++判断字符串有多少数字并输出
时间: 2023-06-13 12:07:03 浏览: 75
可以使用循环遍历字符串中每一个字符,然后判断该字符是否是数字。如果是数字,则计数器加一。最后输出计数器的值即可。
以下是一个示例代码:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
int count = 0;
cout << "请输入字符串:";
getline(cin, str);
for (int i = 0; i < str.length(); i++) {
if (isdigit(str[i])) {
count++;
}
}
cout << "字符串中包含 " << count << " 个数字。" << endl;
return 0;
}
```
在上面的代码中,使用了 `isdigit()` 函数来判断一个字符是否是数字。如果是数字,则返回一个非零值,否则返回零。
相关问题
c++判断字符串是否为数字
您可以使用isdigit()函数来判断一个字符串是否为数字。isdigit()函数是C++标准库中的一个字符处理函数,它的作用是判断一个字符是否为数字字符。下面是一个示例代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
bool isNumber(const string& str) {
for (char c : str) {
if (!isdigit(c)) {
return false;
}
}
return true;
}
int main() {
string str1 = "12345";
string str2 = "abc123";
if (isNumber(str1)) {
cout << str1 << " is a number." << endl;
} else {
cout << str1 << " is not a number." << endl;
}
if (isNumber(str2)) {
cout << str2 << " is a number." << endl;
} else {
cout << str2 << " is not a number." << endl;
}
return 0;
}
```
在这个示例代码中,我们定义了一个isNumber()函数,它接受一个字符串作为参数,并使用isdigit()函数来判断字符串中的每个字符是否为数字字符。如果字符串中的所有字符都是数字字符,则返回true;否则返回false。在main()函数中,我们分别测试了一个包含数字的字符串和一个包含非数字的字符串。运行上述代码,输出结果如下:
```
12345 is a number.
abc123 is not a number.
```
C++判断字符串是否是数字
要判断一个字符串是否是数字,可以使用以下代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int i, flag = 0;
printf("请输入一个字符串:");
scanf("%s", str);
// 判断第一个字符是否为 + 或 -
if (str[0] == '+' || str[0] == '-') {
i = 1;
} else {
i = 0;
}
// 判断剩余字符是否为数字
for (; str[i] != '\0'; i++) {
if (!isdigit(str[i])) {
flag = 1;
break;
}
}
// 输出结果
if (flag == 0) {
printf("%s 是一个数字。\n", str);
} else {
printf("%s 不是一个数字。\n", str);
}
return 0;
}
```
以上代码中,首先从用户输入一个字符串,然后判断第一个字符是否为 + 或 -,如果是,则从下标 1 开始判断剩余字符是否为数字,如果不是,则从下标 0 开始判断。如果发现不是数字,则设置一个标志位 flag,并退出循环。最后根据标志位的值,输出判断的结果。
阅读全文