用C语言编程:输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数.

请问一下那位高手会啊,尽量运用简单的语句

#include <stdio.h>
void main()
{
char line[30];
int i,count1=0,count2=0,count3=0,count4=0;
printf("\n请输入一行字符: ");
gets(line);
i=0;
while(line[i]!='\0')
{
if(((line[i]>=97) && (line[i]<=122))||((line[i]>=65) && (line[i]<=90)))
{
count1++;
}
else if(line[i]==' ')
{
count2++;
}
else if(line[i]>='0' && line[i]<='9')
{
count3++;
}
else
count4++;
i++;
}
printf("\n其中的英文字母个数为 %d\n",count1);
printf("\n其中的空格个数为 %d\n",count2);
printf("\n其中的数字个数为 %d\n",count3);
printf("\n其中的其他字符个数为 %d\n",count4);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-06-13
#include<stdio.h>
#include<string.h>

#define MAX 100
#define LETTER 1
#define NUMBER 2
#define OTHER 3

int count(char c[], int flag)
{
int i, l=0, n=0, o=0;
for(i=0;c[i]!='\0';i++)
if(c[i]>='0'&&c[i]<='9')
n++;
else if((c[i]>='a'&&c[i]<='z')||(c[i]>='A'&&c[i]<='Z'))
l++;
else
o++;
if(flag==LETTER)
return l;
if(flag==NUMBER)
return n;
if(flag==OTHER)
return o;
}

void main()
{
char c[MAX];
printf ("input string: ");
gets (c);
printf ("\nThere are %d letters.", count(c,LETTER));
printf ("\nThere are %d numbers.", count(c,NUMBER));
printf ("\nThere are %d other characters.", count(c,OTHER));
}
第2个回答  2020-03-09

C语言经典例子之统计英文、字母、空格及数字个数

第3个回答  2020-03-24
相似回答