c语言判断一个字符串是否全部为大小写字母和数字
时间: 2023-10-18 17:17:05 浏览: 51
你可以使用 C 语言中的库函数 isalnum() 和 isalpha() 来判断一个字符串是否全部由字母和数字组成。具体操作如下:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int i;
printf("请输入一个字符串:\n");
scanf("%s", str);
for(i = 0; str[i] != '\0'; i++) {
if (!isalnum(str[i]) && !isalpha(str[i])) {
printf("该字符串不是全部由大小写字母和数字组成的!\n");
break;
}
}
if (str[i] == '\0') {
printf("该字符串是全部由大小写字母和数字组成的!\n");
}
return 0;
}
```
在上面的程序中,我们使用 scanf() 获取用户输入的字符串。然后,使用 for 循环遍历字符串中的每个字符,判断其中是否有非字母、非数字的字符。如果有,则输出提示信息并退出循环;如果没有,则说明该字符串是全部由大小写字母和数字组成的。
相关问题
用c语言实现输入字符串并统计其中大小写字母数字和其他字符的个数
以下是C语言实现输入字符串并统计其中大小写字母数字和其他字符的个数的示例代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int i, upper = 0, lower = 0, digit = 0, other = 0;
printf("请输入一个字符串:");
gets(str);
for (i = 0; str[i] != '\0'; i++) {
if (isupper(str[i])) {
upper++;
} else if (islower(str[i])) {
lower++;
} else if (isdigit(str[i])) {
digit++;
} else {
other++;
}
}
printf("大写字母个数:%d\n", upper);
printf("小写字母个数:%d\n", lower);
printf("数字个数:%d\n", digit);
printf("其他字符个数:%d\n", other);
return 0;
}
```
这段代码先定义了一个字符数组 `str` 用于存储输入的字符串,以及四个整型变量 `upper`、`lower`、`digit` 和 `other` 分别用于统计大写字母、小写字母、数字和其他字符的个数。
接着使用 `gets()` 函数获取用户输入的字符串,然后通过循环遍历字符串中的每个字符,使用 `isupper()` 函数、`islower()` 函数和 `isdigit()` 函数判断字符是否为大写字母、小写字母和数字,如果是则对相应的计数器加一,否则加到 `other` 计数器中。
最后,输出各个计数器的值即可。
c语言输入一行字符串,判断其是否是回文字符串,规则:只判断字母和数字,忽略大小写
以下是一个简单的 C 语言程序,可以实现输入一行字符串,判断其是否是回文字符串的功能,同时忽略大小写,只判断字母和数字:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#define MAX_LENGTH 100
int main() {
char str[MAX_LENGTH];
int len, i, j;
int is_palindrome = 1;
// 读入一行字符串
printf("请输入一行字符串:\n");
fgets(str, MAX_LENGTH, stdin);
// 取得字符串长度
len = strlen(str);
// 检查字符是否相同
for (i = 0, j = len - 1; i < j; i++, j--) {
// 忽略非字母和数字的字符
while (!isalnum(str[i]) && i < j) i++;
while (!isalnum(str[j]) && i < j) j--;
// 比较字符,忽略大小写
if (tolower(str[i]) != tolower(str[j])) {
is_palindrome = 0;
break;
}
}
// 输出结果
if (is_palindrome) {
printf("是回文字符串!\n");
} else {
printf("不是回文字符串!\n");
}
return 0;
}
```
程序首先读入一行字符串,然后通过一个 for 循环,逐个比较字符是否相同。在比较之前,会先忽略非字母和数字的字符,并且在比较时会忽略大小写。如果发现不同的字符,就说明不是回文字符串,程序会输出“不是回文字符串!”;否则,说明是回文字符串,程序会输出“是回文字符串!”