用C语言编写一个程序,输入一个字符串,统计其中各个字符出现的次数

利用数组编写

源程序代码如下:

#include "pch.h"

#define _CRT_SECURE_NO_WARNINGS//VS环境下需要,VC不需要

#include<stdio.h

int main()

{     

char c = 0;//定义输入字符变量

int num_count = 0;//数字个数

int bigalp_count = 0;//大写字母个数

int littlealp_count = 0;//小写字母个数

int emp_count = 0;//空格个数

int els_count = 0;//其他字符个数  

while((c = getchar()) != '\n')//连续输入字符直到输入回车结束  

{        

if((c >= '0')&&(c <= '9'))//判断是否是数字     

{           

num_count ++ ;   

}          

else if ((c >= 'a') && (c <= 'z'))//判断是否是小写字母 

{

littlealp_count++;

}

else if ((c >= 'A') && (c <= 'Z'))//判断是否是大写字母

{

bigalp_count++;

}

else if(c == ' ')//判断是否是空格   

{          

emp_count ++;  

}          

else //判断是否其他字符   

{             

els_count ++;   

}    

}    

//输出个数统计值

printf("数字个数:%d\n小写字母个数:%d\n大写字母个数:%d\n",num_count, littlealp_count, bigalp_count);

printf("空格个数:%d\n其他字符个数:%d\n", emp_count, els_count);

return 0;

}

程序运行结果如下:



扩展资料:

其他实现方法:

#include <stdio.h>

#include <ctype.h>    //对空白字符的判断,调用了isspace()函数,所以要调用头文件

int main()

{

   char str[20];     //这块对输入有所限制了

   int num_count=0;

   int space_count=0;

   int other_count=0;

   char *p=str;

   gets(str);   //接收字符串

   while(*p)

   {

     if(*p>='0'&&*p<='9')

     {

        num_count++;

     }

     else if(isspace(*p))    //用isspace函数来判断是不是空白字符

     {

        space_count++;

     }

     else

     {

        other_count++;

     }

     p++;

   }

   printf("num_count=%d\n",num_count);

   printf("space_count=%d\n",space_count);

   printf("other_count=%d\n",other_count);

  return 0;

}
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-02
//输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。
#include<stdio.h>
int main(void)
{
char ch;
int a=0,b=0,c=0,d=0;
while((ch=getchar())!='\n')
{
if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z')
a++;
else if(ch>='0'&&ch<='9')
b++;
else if(ch==' ')
c++;
else
d++;
}
printf("字母=%d\n数字=%d\n空格=%d\n其他字符=%d\n",a,b,c,d);
return 0;
}追问

你遍的我没学过唉,能用数组遍吗

追答

大哥,这还在数组前面呢,你仔细看看,其实就是个简单的while循环,比for都简单呢,如果你数组会的话,这个很好懂的。

本回答被提问者和网友采纳
第2个回答  2013-04-17
#include <vector>#include <iostream>
#include <string>
#include <MAP>
using namespace std;
int main()
{
map<char,int> m_Count;
string str;
cout<<"请输入字符串!!"<<endl;
cin>>str;

for (size_t i = 0;i < str.size();++i) {
m_Count[str[i]]++;
}

map<char,int>::iterator iter;
for (iter = m_Count.begin(); iter != m_Count.end();++iter)
{
cout<<iter->first<<":"<<iter->second<<endl;
}
return 0;
}追问

你编的我没学过能用数组编吗

用C语言编写一个程序,输入一个字符串,统计其中各个字符出现的次数_百 ...
printf("数字个数:%d\\n小写字母个数:%d\\n大写字母个数:%d\\n", num_count, littlealp_count, bigalp_count);printf("空格个数:%d\\n其他字符个数:%d\\n", emp_count, els_count);return 0;} 这个程序通过遍历输入字符串,根据字符的ASCII值来判断其类型并统计出现次数。如果你想进一步优化...

用c语言怎么统计字符串中某一字符出现的次数
1、连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.例:concat(‘11’,'aa’)='11aa’;2、求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。例:copy(‘abdag’,2,3)=’bda’3、删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长...

C语言,输入一段字符串,统计输出其中各个字母的个数
char a[1000];int i=0;b[52]={0};gets(a);while(a[i]){ if(a[i]>='a'&&a[i]<='z')b[a[i]-'a']++;if(a[i]>='A'&&a[i]<='Z')b[a[i]-'A'+26]++;i++;}

C语言,输入一个字符串,统计重复出现某个字母的次数。
main(){ char c[64]; \/\/我们要用的字符串char l; \/\/要查找的字符int i,sum=0; \/\/sum为出现次数printf("请输入字符串:\\n"); scanf("%s",c); \/\/读入字符串 printf("\\n请输入要查找的字母:\/n"); scanf("%c",&l); ...

C语言(简单的)编写程序输入任意一串字符统计其中大写字母,小写字母。数 ...
void count(char*);int main(){ char ch[100]={0};scanf("%s", ch);count(ch);return 0;} void count(char* ch){ \/\/分别记录大写,小写,数字的个数。int big=0, small=0, character=0,qita = 0;while (*ch){ if ((*ch>='A')&&(*ch<='Z')){ ++big;} else if ((*...

用c语言输入一字符串,分别统计其中的大写字母、小写字母及其它字符的个...
int main(){ char s[200];int i,da,xiao,other;scanf("%s",s);da=xiao=other=0;for(i=0;s[i];i++){ if(s[i]>='A' && s[i]<='Z') da++;else if (s[i]>='a' && s[i]<='z') xiao++;else other++;} printf("大写 %d 个\\n",da);printf("小写 %d 个\\n",...

c语言输入一行字符串,如何统计其中的字母和数字的个数
for(i=0;input[i]!='\\0';i++){ if(input[i]>=65&&input[i]=97&&input[i]<=122){ letters++;} else if(input[i]==' '){ space++;} else if(input[i]>=48&&input[i]<=57){ digit++;} else { other++;} } printf("Letters: %d, Spaces: %d, Digits: %d, Others: %d...

C语言编程 从键盘输入一个字符串,分别统计其中大写字母、小写字母及其...
printf("请输入一个字符串:");int i=0;while((s[i]=getchar())!='\\n')i++;p=&s[0];while(*p!='\\n'){ if((*p>='A')&&(*p<='Z'))countd++;else if((*p>='a')&&(*p<='z'))countx++;else if(*p==' ')countk++;\/\/ ‘’中是一个空格 else if((*p>='0')...

编写一个C语言程序:从键盘读入一行文本,统计每个英文字母出现的次数...
include#include#defineMAX100intmain(){charstr[MAX];\/\/输入的字符串,最大长度是MAX-1,因为有一个字符串结束符inti=0,count[52]={0};\/\/count数组用来存储各个字母出现的次数scanf("%s",str);while(str[i]!='\\0'){if(str[i]>='a'&&str[i]count[str[i]-97+26]++;}if(str[i]>...

...并统计出现字符的个数和各个字符出现的次数
举报| 评论 1 1 #include <studio.h>#include <string.h>void frequency( string& s, char& A[ ], int& C[ ], int &k ) { \/\/ s是输入字符串,数组A[ ]中记录字符串中有多少种不同的字符,C[ ]中记录每 \/\/一种字符的出现次数。这两个数组都应在调用程序中定义。k返回不同字符数。 int i...

相似回答