智邮普创c语言面试题 ---- 字母概率

题目描述
小明最近对概率问题很感兴趣。一天,小明和小红一起玩一个概率游戏,首先小明给出一个字母和一个单词,然后由小红计算这个字母在这个单词中出现的概率。字母不区分大小写。
例如,给定的字母是a,单词是apple,那么概率是0.20000。
输入
输入包含多组测试数据。每组数据包含一个字母和一个单词。单词的长度不超过200。
输出
对于每一个输入,输出对应的概率,结果保留5位小数。
样例输入

a apple
c Candy
a banana

样例输出

0.20000
0.20000
0.50000

代码:

#include <stdio.h>


int main(void) {
    
    int i;
    char words[200];
    float result,sum;
    
    while(1){
        float arr[26] = {0};
        fgets(words, 200, stdin);
    
        for(i = 2; words[i] != '\0'; i++){
            if(words[i] >= 'A' && words[i] <= 'Z'){
                words[i] += 32;
            }
            arr[words[i] - 97]++;
        }
    
        for(i = 0, sum = 0; i < 26; i++){
            sum += arr[i];
        }
    
        result = arr[words[0] - 97]/sum;
        printf("%f\n", result);
    }
    return 0;
}

 

posted @ 2018-06-02 13:28  像风长安  阅读(450)  评论(0编辑  收藏  举报