c语言编程:输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数,用while语句~~谢谢

十分感谢~~
2024-10-27 14:20:15
推荐回答(3个)
回答1:

#include

int main()

{

int i=0, space=0, num=0, n=0, ch=0;

char s[20];

printf("请输入一串字符 ");

gets(s);

while(s[i] != '\0')

{

if(s[i]==' ')

space++;

else if(s[i]<='9' && s[i]>='0')

num++;

else if(s[i]<='z' && s[i]>='a' || s[i]<='Z' && s[i]>='A')

ch++;

else

n++;

i++;

}

printf("刚才输入的字符中英文字符个数为 %d\n", ch);

printf("刚才输入的字符中空格个数为 %d\n", space);

printf("刚才输入的字符中数字个数为 %d\n", num);

printf("刚才输入的字符中其他个数为 %d\n", n);

return 0;

}

扩展资料:    

while 循环的格式:while (表达式){语句;}

while 循环的执行顺序:当表达式为真,则执行下面的语句,语句执行完之后再判断表达式是否为真,如果为真,再次执行下面的语句,然后再判断表达式是否为真……就这样一直循环下去,直到表达式为假,跳出循环。

例:

int a=NULL;

while(a<10){

a++;//自加

if(a>5)//不等while退出循环,直接判断循环

{break;//跳出循环}

}

结果: 结束后 a的值为6 。

回答2:

回答3:

#include
int main()
{
int i=0, space=0, num=0, n=0, ch=0;
char s[20];
printf("请输入一串字符 ");
gets(s);
while(s[i] != '\0')
{
if(s[i]==' ')
space++;
else if(s[i]<='9' && s[i]>='0')
num++;
else if(s[i]<='z' && s[i]>='a' || s[i]<='Z' && s[i]>='A')
ch++;
else
n++;
i++;
}
printf("刚才输入的字符中英文字符个数为 %d\n", ch);
printf("刚才输入的字符中空格个数为 %d\n", space);
printf("刚才输入的字符中数字个数为 %d\n", num);
printf("刚才输入的字符中其他个数为 %d\n", n);

return 0;
}