C++判断字符串是否是数字
时间: 2023-10-21 07:11:48 浏览: 47
要判断一个字符串是否是数字,可以使用以下代码:
```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,并退出循环。最后根据标志位的值,输出判断的结果。