#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 。
编程为:
#include <stdio.h>
int main(){ char c[50]; int i,el=0,sp=0,nu=0,other=0; gets(c);//输入字符串 for(i=0; i<strlen(c); i++)//strlen返回字符串长度 { if((c[i]>='A' && c[i]<='Z')||(c[i]>='a' && c[i]<='z')) el++; else if(c[i]>='0'&&c[i]<='9') nu++; else if(c[i]==' ') sp++; else other++; } printf("英文字母个数=%d\n数 字 个 数 =%d\n空 格 字 数 =%d\n其他字符个数=%d\n",el,nu,sp,other); return 0;}已经测试过了,测试结果如下:
本回答被网友采纳