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

十分感谢~~

#include <stdio.h>

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 。

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-03-24
第2个回答  推荐于2017-12-16
#include <stdio.h>
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;
}本回答被提问者采纳

...其中英文字母,空格,数字和其他字符的个数。(分别使用wh
include<stdio.h> int main(void){ \/\/输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。char ch;int char_num=0,kongge_num=0,int_num=0,other_num=0;while((ch=getchar())!='\\n')\/\/回车键结束输入,并且回车符不计入 { if(ch>='a'&&ch<='z'||ch<='z'&&ch...

相似回答