1. 程式人生 > >統計字串中字母、數字、空格個數

統計字串中字母、數字、空格個數

題目要求:

編寫一函式,由實參傳來一個字串,

統計此字串中字母、數字、空格和其它字元的個數,

在主函式中輸入字串以及輸出上述統計結果。

思路:

定義變數如下:

i迴圈變數,j字母個數,k數字個數,l空格個數,m其他字元

通過判斷ASCII碼值來統計並計數。

原始碼如下:

/*
5、編寫一函式,由實參傳來一個字串,
統計此字串中字母、數字、空格和其它字元的個數,
在主函式中輸入字串以及輸出上述統計結果。
*/
#include<stdio.h>
static int i=0,j=0,k=0,m=0,l=0;//i迴圈變數,j字母個數,k數字個數,l空格個數,m其他字元
void Count5(char *p)
{
	//p[i]就是主函式的s[i]
	//p[0]==*p==a[0]  p[2]==*(p+2)==*(s+2)==s[2]
	while(p[i])
	{
		if((p[i]>='a'&&p[i]<='z')||(p[i]>='A'&&p[i]<='Z'))//字母
		{
			j++;
		}
		else
			if(p[i]>='0'&&p[i]<='9')//數字
			{
				k++;
			}
			else	
				if(p[i]==32||p[i]==9)//空格
				{
					l++;
				}
				else //其他字元
				{
					m++;
				}	
				i++;
	}
}
int main()
{
	char s[100];
	printf("請鍵盤輸入一個字串:\n");
	gets(s);
	Count5(s);
	printf("該字串中有:\n");
	printf("字母:%d個,數字%d個,空格%d個,其他字元%d個\n",j,k,l,m);
	return 0;
}

程式截圖: