用C语言设计一个程序,从键盘输入一行字符,统计其中分别有多少大小写字母
时间: 2024-06-13 17:05:10 浏览: 206
这是两个不同的程序,但都可以实现统计输入字符串中大小写字母的个数的功能。下面是其中一个程序的解释:
```c
#include <stdio.h>
int main() {
int a=0,b=0,c=0,d=0;
char *p,i=0,s[100];
while((s[i]=getchar())!='\n') //一行!!!,所以结束标志为'\n'
{
i++;
}
p=&s[0];
while(*p!='\n') {
if((('A'<=*p)&&(*p<='Z'))||(('a'<=*p)&&(*p<='z'))) //大小写都要注意
a++;
else if(*p==' ')
b++;
else if(*p>='0'&&*p<='9')
c++;
else
d++;
p++; //这个别忘了加!
}
printf("英文字母,空格,数字,其他字符的个数分别为:%d %d %d %d\n",a,b,c,d);
return 0;
}
```
相关问题
C语言用户从键盘输入一行字符,分别统计其中英文字母大小写均含、数字字符和其他字符的个数并输出不计回车符号
在C语言中,你可以使用`ctype.h`库提供的函数来检查每个字符的类别,并统计各种类型的字符。下面是一个简单的程序示例,它会提示用户输入一行字符,然后计算字母、数字和其它字符的数量:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
int alpha_count = 0, digit_count = 0, other_count = 0;
char input[100];
printf("请输入一行字符(不含回车符):");
fgets(input, sizeof(input), stdin);
// 删除末尾的换行符 '\n'
input[strcspn(input, "\n")] = '\0';
for (char c : input) {
if (isalpha(c)) { // 检查是否为字母
alpha_count++;
} else if (isdigit(c)) { // 检查是否为数字
digit_count++;
} else { // 其他字符(包括空格、标点等)
other_count++;
}
}
printf("大写字母:%d\n", alpha_count);
printf("小写字母:%d\n", alpha_count); // 因为ASCII码中大写和小写只相差一位
printf("数字字符:%d\n", digit_count);
printf("其他字符:%d\n", other_count);
return 0;
}
```
在这个程序中,我们使用了`isalpha()`函数检测字母,`isdigit()`函数检测数字。注意,由于ASCII码的特点,大写字母和小写字母的检测在这里可以合并,因为它们只是编码值上相差很小。
c语言:从键盘输入一行字符,以按Enter键作为结束标志,分别统计其中字母(不区分大小写)、 数字字符和其他字符的个数。
```
#include <stdio.h>
#include <ctype.h>
int main()
{
char ch;
int letter_count = 0, digit_count = 0, other_count = 0;
printf("请输入一行字符(以Enter键作为结束标志):\n");
while ((ch = getchar()) != '\n') {
if (isalpha(ch)) { // 判断是否为字母
letter_count++;
} else if (isdigit(ch)) { // 判断是否为数字字符
digit_count++;
} else { // 其他字符
other_count++;
}
}
printf("字母个数:%d\n", letter_count);
printf("数字字符个数:%d\n", digit_count);
printf("其他字符个数:%d\n", other_count);
return 0;
}
```
阅读全文
相关推荐













