C语言 判断字符串中大写小写个数和数字个数

#include<stdio.h>
#define num 1000

void countUpperLetter(char []);
void countLowerLetter(char []);
void countDigit(char []);

int main()
{
char array[num];
printf("请输入一段文章:\n");
gets(array);

countUpperLetter(array);
countLowerLetter(array);
countDigit(array);

return 0;
}

void countUpperLetter(char s1[])
{
int a=0;
for(int i=0;i<num;i++)
{
if(('A'<=s1[i])&&(s1[i]<='Z')) a++;
}
printf("大写字母:%d\n",a);
}

void countLowerLetter(char s1[])
{
int a=0;
for(int i=0;i<num;i++)
{
if(('a'<=s1[i])&&(s1[i]<='z')) a++;
}
printf("小写字母:%d\n",a);

}

void countDigit(char s1[])
{
int a=0;
for(int i=0;i<num;i++)
{
if(('0'<=s1[i])&&(s1[i]<='9')) a++;
}
printf("数字:%d\n",a);
}
都是错误的。

第1个回答  2014-12-12
所有的for(int i=0;i<num;i++) 终止条件,都应该修改:

for(int i = 0; s1[i] != '\0';i++)
第2个回答  2014-12-12
改成 i < strlen(array)

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网