用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;

}
温馨提示:答案为网友推荐,仅供参考
相似回答