/*
输入一行字符,统计字母,数字,空格,其他的个数
*/
#include<stdio.h>
#include<stdlib.h> //system("cls");清屏操作需要包含头文件<stdlib.h>
void main()
{
char ch='y';//给字符ch赋初值,进入第一次循环
while(ch=='y')//判断接受的这个字符是否为'y'
{
system("cls");//清屏操作
while(1)
{
int zimu=0,shuzi=0,kongge=0,qita=0;
printf("输入一行字符\n");
char st[100];
gets(st);//get()接受一行字符
for(int i=0;st[i]!='\0';i++)从st[0]到st[i]循环进行判断
{
if(st[i]>='a'&&st[i]<='z'||st[i]>='A'&&st[i]<='Z')
zimu++;
else if(st[i]>='0'&&st[i]<='9')
shuzi++;
else if(st[i]==' ')
kongge++;
else
qita++;
}
printf("字母有%d,数字有%d,空格有%d,其他有%d,\n",zimu,shuzi,kongge,qita);break;
//break表示退出当前while(1){ }这个循环
}
printf("是否继续输入? y?n\n");
ch=getchar();//用getchar()接收一个字符
fflush(stdin);//清空输入缓存
}
}
/*知识总结
1.system("cls")为清屏操作,需要包含头文件<stdlib.h>
2.fflush(stdin)清空输入缓存,用于多个字符的输入
3.gets()函数的使用(有参数)
char st[100];
gets(st);
4.getchar()函数的使用(无参数) ch=getchar();
5.break的用法:结束当前的循环
6.使用多重嵌套循环时需要明确循环的内容是什么?循环的条件是什么?结束的条件又是什么?
*/