C语言写一个函数,判断一个字符串是不是全是数字
时间: 2023-02-12 18:52:21 浏览: 81
```c
#include <ctype.h>
int is_string_numeric(const char *str) {
int i;
for (i = 0; str[i] != '\0'; i++) {
if (!isdigit(str[i])) {
return 0;
}
}
return 1;
}
```
上面的代码使用了ctype.h中的isdigit函数,它用于判断一个字符是否是数字。该函数遍历整个字符串,如果发现有一个字符不是数字,就返回0,否则返回1。
相关问题
用c语言写一个函数,判断一个字符串是否为回文字符串
好的,可以使用以下 C 语言代码实现判断一个字符串是否为回文字符串:
```c
#include <stdio.h>
#include <string.h>
int isPalindrome(char str[]) {
int len = strlen(str);
for (int i = 0; i < len/2; i++) {
if (str[i] != str[len-1-i]) {
return 0; // 不是回文字符串,返回0
}
}
return 1; // 是回文字符串,返回1
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
if (isPalindrome(str)) {
printf("%s 是回文字符串\n", str);
} else {
printf("%s 不是回文字符串\n", str);
}
return 0;
}
```
在上述代码中,`isPalindrome()` 函数接收一个字符串 `str`,返回一个整数值,1 表示 `str` 是回文字符串,0 表示 `str` 不是回文字符串。函数通过遍历字符串的前一半字符和后一半字符进行比较,如果发现不同则直接返回 0,否则遍历结束后返回 1。
在 `main()` 函数中,首先输入一个字符串,然后调用 `isPalindrome()` 函数判断它是否为回文字符串,并输出相应的结果。
C语言写一个函数,判断一个字符串是不是一个带有小数的数字
```c
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
bool is_decimal_string(char* str) {
int len = strlen(str);
int dot_count = 0;
bool has_digit = false;
for (int i = 0; i < len; i++) {
char c = str[i];
if (c >= '0' && c <= '9') {
has_digit = true;
} else if (c == '.') {
dot_count++;
} else {
return false;
}
}
return has_digit && dot_count == 1;
}
```
该函数接受一个字符串作为参数,遍历字符串中的每一个字符,如果该字符是数字,则将 has_digit 标记设为 true;如果该字符是小数点,则将 dot_count 计数器加 1;如果该字符是其他字符,则返回 false。最后,如果 has_digit 标记为 true 且 dot_count 为 1,则说明该字符串是一个带有小数的数字,函数返回 true;否则返回 false。
注意:该函数不能判断负数,如果要判断负数,需要在函数中加入判断。