编一程序,输入一行字符,分别统计出其中大写字母、小写字母、空格、数字及其他字符的个数。(要求用指针

2024-11-16 22:30:25
推荐回答(2个)
回答(1):

#include
int main() {
char s[1000];
char *p = s;
printf("Input String:");
fgets(s, sizeof(s), stdin);
int len[5] = {0,0,0,0,0};
while (*p++) {
if (*p>='A' && *p<='Z') len[0] ++;
else if (*p>='a' && *p <='z') len[1] ++;
else if (*p==0x20) len[2] ++;
else if (*p>='1' && *p <='9') len[3] ++;
else len[4] ++;
}
printf("大写:%d, 小写:%d, 空格:%d, 数字:%d, 其他:%d\n", len[0],len[1],len[2],len[3],len[4]);
return 0;
}

回答(2):

#include
int main()
{
int a=0,b=0,c=0,d=0,e=0;
char *p,str[80];
p=str;
gets(str);
while(*p)
if(*p>='A' && *p <='Z')
{a++;p++;}
else if(*p>='a' && *p <='z')
{b++;p++;}
else if(*p==' ')
{c++;p++;}
else if(*p>='0' && *p <='9')
{d++;p++;}
else
{e++;p++;}
printf("大写%d 小写%d 空格%d 数字%d 其它%d 英文%d\n",a,b,c,d,e,a+b);
return 0;
}