输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数

大哥们,打扰一下,输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数
最新回答
梦里花落

2024-10-31 06:18:30

#incclude<stdio.h>
void main()
{
int y=0,k=0,s=0,q=0;
char c;
clrscr();
while((c=getchar())!='\n')
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
y++;
else if(c==32)/*空格的ASCII码*/
k++;
else if(c>=48&&c<=57)/*48是0的ASCII码,57是9的ASCII码*/
s++;
else
q++;
}
printf("字母数:%d\n空格数:%d\n数字数:%d\n其它字数:%d\n",y,k,s,q);
getch();
}
南栀北辰

2024-10-31 06:55:22

网友“请留言”所言极是!这也是我想说的!

//---------------------------------------------------------------------------

#include <stdio.h>
#include <ctype.h>

int main(void)
{
char c,eng=0,dig=0,spc=0,ot=0;
while ((c=getchar())!='\n')
if (isalpha(c)) eng++;
else if (isdigit(c)) dig++;
else if (isspace(c)) spc++;
else ot++;
printf("英文字母:%d\n数字:%d\n空格:%d\n其它字符:%d",eng,dig,spc,ot);
return 0;
}
//---------------------------------------------------------------------------
一群在校园浪费青春的疯子

2024-10-31 06:13:59

#include "stdio.h"
#include "ctype.h"
void main(){
char buf[256],*p=buf;
int letter=0,space=0,num=0,other=0;
gets(buf);
while (*p)
{
if(isalpha(*p))letter++;
else if(isdigit(*p))num++;
else if(*p==' ')space++;
else other++;
p++;
}
printf("letter=%d,space=%d,numeric=%d,other=%d",letter,space,num,other);
}
懵蓝初梦

2024-10-31 07:50:27

#include <stdio.h>
main()
{
char ch;
int z=0,k=0,q=0;
ch=getchar();
while(ch!='\0')
{
if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
z++;
else if(ch==' ')
k++;
else
q++;
}
printf("zimu=%d,kouge=%d,qita=%d",z,k,q);
}
爱情的模样

2024-10-31 07:12:09

说实话,一看到提问这个问题我就想打人,这么简单的问题还要别人帮你写程序,你也太懒了吧,麻烦用一下脑子。被网络毁掉的一代。