title: '[考研]東大C語言編程題——11統(tǒng)計字符'
date: 2017-10-16 16:33:19
tags: [考研,數(shù)據(jù)結(jié)構(gòu)]
thumbnail:http://upload-images.jianshu.io/upload_images/3635391-6ba8d3822c99643d.jpg
toc: true
題目標(biāo)記:??
題目描述
一片文章共有3行文字薛夜,每行有80個字符当悔。要求分別統(tǒng)計出其中的大寫字母、小寫字母唉地、數(shù)字砾脑、空格幼驶,以及其他字符的個數(shù)。
解題思路
- 對不同字符分別計數(shù)拦止,通過ASCII區(qū)間大小來判斷县遣。注意:這里不需要知道字符的ASCII值是多少,直接通過比較就可以得到區(qū)間了汹族,例如'P'字符在
A
~Z
之間萧求,A<P<Z
這樣判斷即可。 - 除特定字符需要統(tǒng)計顶瞒,剩下的即為其他字符
- 判斷字符結(jié)束依據(jù)為是否等于
\0
代碼
#include <stdio.h>
int main()
{
int i=0,j,capital=0,low=0,number=0,space=0,other=0;
char text[3][80],temp;
while(i<3)
{
printf("請輸入第%d行文字:\n",i+1);
gets(text[i]);
for(j=0; j<80&&text[i][j]!='\0'; j++)
{
temp=text[i][j];
if(temp>='A'&&temp<='Z') capital++;
else if(temp>='a'&&temp<='z') low++;
else if(temp>='0'&&temp<='9') number++;
else if(temp==' ') space++;
else other++;
}
printf("第%d行:大寫字母:%d個夸政,小寫字母%d個,數(shù)字%d個榴徐,空格%d個守问,其他字符%d個\n",i,capital,low,number,space,other);
i++;
}
return 0;
}