顶级公司面试编程题——输入一段字符串,求出包含字母a-z的个数。

题目

  • 输入一串字符串,并且求出其中a-z各个字母的个数。
  • 这道题是我朋友在一家大公司里面试的考试题,这道题目其实是相当难的,它不仅嵌入了多重循环,还有数组的遍历。下面就是这道题目c语言的解法,本人水平有限,其他的语言确实不太熟悉。

解答

#include 
#include 
#define N 50                    //定义常量长度
main(){
     
  int i,j=0,num[26]={
     0};       //设置数组初始值为0
  char str[N];
  printf("please input a string:");
  gets(str);
  for(i=0;i<strlen(str);i++)    //字符串长度的循环
    for(j=0;j<26;j++)           //26个英文字母的循环
      if(str[i]=='a'+j){
            //若匹配到结果数组值自增加1         
        num[j]++;
        break;                //遍历完整个字符串之后跳出循环,继续执行下面字母的遍历
      }
    for(i=0;i<26;i++)
       printf("%c:%d\t",'a'+i,num[i]);  //循环输出a-z的字母个数结果
}

输出结果

在这里插入图片描述

你可能感兴趣的:(C语言编程,算法,c语言)