C语言问题: 输入一行字符,分别统计英文字符、数字字符、空格和其它字符的个数?

供稿:hz-xin.com     日期:2025-01-13
c语言编程:输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数,用while语句~~谢谢

main()
{
int zm=0,kg=0,sz=0,qt=0;
char c;
while( (c = getchar()) != '
' ) //c=getchar是从键盘获取一个字符并赋值给c,
是换行的意思

{
if( (c>='a'&&c='A'&&c<='Z') ) zm++;
else if( c>='0'&&c<='9' ) sz++;
else if( c==' ' ) kg++;
else qt++;
}
printf("字母=%d,数字=%d,空格=%d,其他=%d
",zm,sz,kg,qt);

}

#include<stdio.h>

char s[10000];

int main()

{

int a=0,b=0,c=0,d=0;

gets(s);

int i;

for(i=0;s[i]!='\0';i++)

{

if(s[i]<='z'&&s[i]>='a'||s[i]>='A'&&s[i]<='Z')

a++;//字母数 

else if(s[i]==' ')

b++;//空格数 

else if(s[i]>='0'&&s[i]<='9')

c++;//数字数 

else 

d++;//其他字符

}

printf("字母%d个
空格%d个
数字%d个
其他字符%d个",a,c,b,d);

return 0;

}



#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int main() {

char s[100];

int countLetter = 0;

int countNum = 0;

int countSpace = 0;

int countOther = 0;

printf("请输入一个字符串:");

scanf("%[^
]",s);

for(int i = 0;i< strlen(s);i++){

if((*(s+i)>='A'&&*(s+i)<='Z')||(*(s+i)>='a'&&*(s+i)<='z')) {

countLetter++;

continue;

}

if(*(s+i)>='0'&&*(s+i)<='9') {

countNum++;

continue;

}

if(*(s+i)==' ') {

countSpace++;

continue;

}

else

countOther++;

}

printf("字母有:%d个  数字有:%d个  空格有:%d个  其他字符有:%d个",

countLetter,countNum,countSpace,countOther);

return 0;

}



您好,很高兴回答您的问题。
您说的这个问题,不是很复杂。主要就是要学会输入一串字符,这个可以用gets函数实现;第二就是统计各类字符个数,这个可以分别设置不同的变量用来存放,注意的一点是一定都要赋初始值为0。接下来就是用for循环将这个一串字符逐一取出,一个个判断是否是各类字符,是哪一类,那么用来存放结果的变量值就增加一个。
以上就是我的回答,希望能帮助到您。

c语言:输入一行字符,分别统计出其中英文字母,空格,数字和其它字符的个...
>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z')m++;else if(a[i]>='0'&&a[i]<='9')n++;else if(a[i]==' ')b++;else c++;} printf("英文字母:%d\\n",m);printf("数字字符:%d\\n",n);printf("空格:%d\\n",b);printf("其他字符:%d\\n",c);return 0;} ...

C语言问题: 输入一行字符,分别统计英文字符、数字字符、空格和其它字...
{ int a=0,b=0,c=0,d=0;gets(s);int i;for(i=0;s[i]!='\\0';i++){ if(s[i]<='z'&&s[i]>='a'||s[i]>='A'&&s[i]<='Z')a++;\/\/字母数 else if(s[i]==' ')b++;\/\/空格数 else if(s[i]>='0'&&s[i]<='9')c++;\/\/数字数 else d++;\/\/其他字符 ...

c语言,输入一行字符,分别统计出其中大写字母、小写字母、空格、数字及...
else if (*a == ' '){ k++;} else if (*a >= '0' && *a <= '9'){ shu++;} else { qi++;} a++;} printf("大写字母:%d\\n小写字母:%d\\n空格:%d\\n数字:%d\\n其它字符:%d\\n", d, s, k, shu, qi);} int main(){ char b[512];gets(b);fun(b);return 0;} ...

输入一行字符分别统计出其中英文字母(用C语言写)
include <stdio.h>int main(){ char c[50]; int i,el=0,sp=0,nu=0,other=0; gets(c);\/\/输入字符串 for(i=0; i<strlen(c); i++)\/\/strlen返回字符串长度 { if((c[i]>='A' && c[i]<='Z')||(c[i]>='a' && c[i]<='z')) el++; else...

C语言:输入一行字符,分别统计出其中的大写英文字母、小写英文字母、数字...
应该把>都改成>=,<也一样,不改的话a、A、z、Z的判断将被划在其他类里,数字的判断也应该是大于等于,小于等于,改完后代码为:include <stdio.h> define N 100 main(){ char all[N];int i,xx=0,shuzi=0,qita=0,dx=0;printf("请输入一个字符串(不超过100个):");gets(all);f...

c语言题目:输入一行字符,分别统计出其中的英文字母、空格、数字和其他字...
include<stdio.h> int main(){ char c;int letter=0,space=0,num=0,other=0;while((c=getchar())!='\\n')if(c>='A'&&c<='Z'||c>='a'&&c<='z')letter++;else if(c>='0'&&c<='9')num++;else if(c==' ')space++;else other++;printf("letter=%d num=%d space=%d ...

c语言输入一行字符,统计其中有多少个字符
c语言输入一行字符,统计其中有多少个字符这样做:1、思想很简单,就是判断下空格,因为英文中单词与单词之间都是用空格隔开,判断到空格,那下一个遇到的第一个字符开头就为新的一个单词。2、用while+getchar不断从标准输入中读入字符并判断是不是结尾,既判断是否遇到‘\\n’。3、用if判断读入的字符...

c语言 从键盘输入一行字符,分别统计其中数字字符,字母字符和其他字符...
可以参考下面的代码:include <stdio.h> intmain(){ inta,b,c,ch;a=b=c=0;\/\/计数器初始化为0.while((ch=getchar())!='\\n')\/\/循环读取字符,到换行结束。{ if(ch>='0' && ch<='9')\/\/数字 a++;else if((ch>='a' && ch<='z')||(ch>='A' && ch<='Z'))\/\/字母 b...

请您告诉我C语言中“输入一行字符,分别统计出其中英文字母,空格,数字...
78¥¥92 getchar一次只能从缓存中提取一个字符,所以先提取7,赋给c,再做比较,然后下一次循环,提取8,赋给c,做比较,知道得到的字符是'\\n'换行符,while 退出

c语言输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个...
scanf("%s",s);把这句改为 scanf("%[^\\n]",s);或者gets(s);%s在遇到空白字符的时候就输入结束了,所以无法统计空格数。