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
只统计数字吗?字母不用统计吧追问

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