C语言程序设计:从标准输入设备上输入一个字符串,分别统计其中每个数字、空格、字母及其他字符出现的次

C语言程序设计:从标准输入设备上输入一个字符串,分别统计其中每个数字、空格、字母及其他字符出现的次数? 思路:用gets()函数读字符串,然后判断每一个字符是否是数字、空格、大小写字母或其他字符,用循环实现。 注意:此题要求分别统计每个数字出现的次数,而不是统计数字出现的总次数。 用一个一维整型数组存放每个数字出现的次数。

#include <stdio.h>
void main()
{
char str[1024];
int i,num[4]={0};
memset(str,0,1024);
gets(str);
for(i=0;str[i]!='\0';i++)
{
if(str[i]>='0'&&str[i]<='9')
num[0]++;
else if(str[i]==' ')
num[1]++;
else if(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')
num[2]++;
else
num[3]++;
}
printf("数字%d个,空格%d个,字母%d个,其他字符%d个\n",num[0],num[1],num[2],num[3]);

}追问

可以加注释吗?谢谢

追答

#include
void main()
{
char str[1024];
int i,num[4]={0};
memset(str,0,1024);//字符串全部赋值为0(也就是'\0')
gets(str);//输入自负串
for(i=0;str[i]!='\0';i++)//统计字符串,遇到'\0'结束
{
if(str[i]>='0'&&str[i]='A'&&str[i]='a'&&str[i]<='z')//统计字符
num[2]++;
else
num[3]++;//其他
}
printf("数字%d个,空格%d个,字母%d个,其他字符%d个\n",num[0],num[1],num[2],num[3]);

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-05-01
//.输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。
#include"stdio.h"
void
scan(char
*a);
int
word=0,space=0,num=0,nother=0;
void
main()
{
printf("输入一行字符:");
char
a[40];
gets(a);
scan(a);
printf("字母%d,\n空格%d,\n数字%d,\n其他%d\n\n",word,space,num,nother);
}
void
scan(char
*a)
{
int
i;
for(i=0;a[i]!='\0';i++)
{
if((a[i]>='a'&&a[i]<='z')||(a[i]>='a'&&a[i]<='z'))word++;
else
if(a[i]==32)space++;
else
if(a[i]>='0'&&a[i]<='9')num++;
else
nother++;
}
}
第2个回答  2014-05-20
只统计数字吗?字母不用统计吧追问

都统计,数字有特别要求,求解答,谢谢

...分别统计其中每个数字、空格、字母及其他字符出现的次
} printf("数字%d个,空格%d个,字母%d个,其他字符%d个\\n",num[0],num[1],num[2],num[3]);}

c语言编程。从标准输入设备上输入一个字符串,分别统计其中每个数字...
int j = 0;char c;while((c=getchar()) !='\\n'){ stringss[j] = c;j++;} for(i=0;i<j;i++)\/\/统计字符串,遇到'\\0'结束 { if(stringss[i]>='0'&&stringss[i]<='9')\/\/统计数字个数 num[0]++;else if(stringss[i]==' ')\/\/统计空格 num[1]++;else if(stringss...

输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数
intmain(){ charc;intletters=0,spaces=0,digits=0,others=0;printf(请输入一串任意的字符:\\n);while((c=getchar())!=\\n){ if((c=ac=z)||(c=Ac=Z))letters++;elseif(c=0c=9)digits++;elseif(c==)spaces++;else others++;} printf(字母有%d个,数字有%d个,空格有%d个,其他...

用c语言编程,字符统计:输入一个文本文件,分别统计出其中英文字母、空格...
int main(){ char c;int letters=0,space=0,digit=0,other=0;printf("请输入一行字符:");while ((c=getchar())!='\\n'){ if (c >= 'a'&&c <= 'z' || c >= 'A'&&c <= 'Z'){ letters++;} else if (c == ' '){ space++;} else if (c >= '0'&&c <= '9'...

用C语言编程:输入一行字符,分别统计出其中英文字母、空格、数字和其他字...
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++...

c语言编程:输入一行字符,分别统计出其中英文字母,空格,数字和其他字 ...
int main(){ int i=0, space=0, num=0, n=0, ch=0;char s[20];printf("请输入一串字符 ");gets(s);while(s[i] != '\\0'){ if(s[i]==' ')space++;else if(s[i]<='9' && s[i]>='0')num++;else if(s[i]<='z' && s[i]>='a' || s[i]<='Z' && s[...

...输入一行字符,分别统计其中英文字母、空格、数字和其它字符的个数...
{ int zm=0,kg=0,sz=0,qt=0;char c;while((c=getchar())!='\\n')if(c>='A' && c<='Z' || c>='a' && c<='z')zm++;else if(c==' ')kg++;else if(c>='0' && c<='9')sz++;else qt++;printf("英文字母:%d\\n",zm);printf("空格:%d\\n",kg);printf("...

c语言 从键盘输入一行字符,分别统计其中数字字符,字母字符和其他字符...
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++;else\/\/其它 c++;} printf("%d%d%d...

C语言~~~输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的...
') c++;else f++;} printf("字母个数%d,数字个数%d,空格个数%d,其余符号个数%d\\n",a,b,c,f);return 0;} 这是我改的 ~scanf("%s",e); 这样输入字符串 遇到空格就会停止的 所以用gets for(d=0;e[d]!='\\n';d++) 字符串结束应该是\\0 而\\n是换行 这样就ok了 ...

C语言编程 从键盘输入一个字符串,分别统计其中大写字母、小写字母及其...
void main(){ int countd=0,countx=0,countk=0,counts=0,countq=0;\/\/分别用来对大写字母、小写字母、空格、数字、其他字符做计数 char s[100],*p;printf("请输入一个字符串:");int i=0;while((s[i]=getchar())!='\\n')i++;p=&s[0];while(*p!='\\n'){ if((*p>='A')&&...

相似回答