循环 字符串输入

题目:输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。(p137)

#include<stdio.h>
int main()
{
	char c[100];									//定义储存字符串的数组
	int n=0,m=0,x=0,y=0,i=0;
	gets(c);										//字符串输入函数
	for(i;c[i]!='\0';i++)
	{  
		if((c[i]>=65 && c[i]<=90) || (c[i]>=96 && c[i]<=121))
			n++;
		else if(c[i]==' ')
			m++;
		else if(c[i]>=48 && c[i]<=57)
			x++;
		else
			y++;
	}
	printf("%d\n",n);
	printf("%d\n",m);
	printf("%d\n",x);
	printf("%d\n",y);
	return 0;
}

改善:通过使用getchar(),字符串不受数组限制。

#include<stdio.h>
int main()
{
	char c;
	int n=0,m=0,x=0,y=0,i=0;
	while((c=getchar())!='\n')
	{
		if(c>=65 && c<=90 || c>=96 && c<=121)
			n++;
		else if(c==' ')
			m++;
		else if(c>=48 && c<=57)
			x++;
		else
			y++;
	}
	printf("%d\n %d\n %d\n %d\n",n,m,x.y);
	return 0;
}
发布了16 篇原创文章 · 获赞 0 · 访问量 280

猜你喜欢

转载自blog.csdn.net/tygmc/article/details/104116757