1044:字母概率

题目描述

小明最近对概率问题很感兴趣。一天,小明和小红一起玩一个概率游戏,首先小明给出一个字母和一个单词,然后由小红计算这个字母在这个单词中出现的概率。字母不区分大小写。
例如,给定的字母是a,单词是apple,那么概率是0.20000。

输入格式

输入包含多组测试数据。每组数据包含一个字母和一个单词。单词的长度不超过200。

输出

对于每一个输入,输出对应的概率,结果保留5位小数。

样例输入

a apple
c Candy
a banana

样例输出

0.20000
0.20000
0.50000

#include<stdio.h>
#include<string.h>
int main()
{
  char ch,str[200];
  int d;
  float p=0;
  while(scanf("%c%*c",&ch)!=EOF)
  {
    gets(str);
    d=0;
    for(int i=0;i<strlen(str);i++)
      if(ch==str[i]||ch==(str[i]+32)||ch==(str[i]-32))
      d++;
    p=d*1.0/strlen(str);
    printf("%.5f\n",p);
  }
  return 0;
}
      


 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个Python程序,可以实现批量读取txt文件并统计字母概率: ```python import os # 定义一个函数,用于统计字母概率 def count_letter_prob(file_path): # 定义一个字典,用于存储字母出现次数 letter_count = {} # 定义一个变量,用于记录总字母数 total_letters = 0 # 读取文件内容 with open(file_path, 'r') as f: content = f.read() # 统计字母出现次数 for letter in content: if letter.isalpha(): letter = letter.lower() if letter in letter_count: letter_count[letter] += 1 else: letter_count[letter] = 1 total_letters += 1 # 计算字母概率 letter_prob = {} for letter, count in letter_count.items(): letter_prob[letter] = count / total_letters return letter_prob # 定义一个函数,用于批量读取txt文件并统计字母概率 def batch_count_letter_prob(folder_path): # 定义一个字典,用于存储每个文件的字母概率 file_prob = {} # 遍历文件夹下的所有txt文件 for file_name in os.listdir(folder_path): if file_name.endswith('.txt'): file_path = os.path.join(folder_path, file_name) file_prob[file_name] = count_letter_prob(file_path) return file_prob # 测试批量读取txt文件并统计字母概率的函数 folder_path = './txt_files' file_prob = batch_count_letter_prob(folder_path) for file_name, letter_prob in file_prob.items(): print(file_name + ':') for letter, prob in letter_prob.items(): print(letter + ': ' + str(prob)) print('----------------') ``` 在这个程序中,我们定义了两个函数,分别是`count_letter_prob`和`batch_count_letter_prob`。`count_letter_prob`函数用于统计单个txt文件中字母概率,`batch_count_letter_prob`函数用于批量读取txt文件并统计字母概率。在`count_letter_prob`函数中,我们首先定义了一个字典`letter_count`,用于存储字母出现次数;然后读取文件内容,并遍历文件中的每个字符,如果是字母,则将其转换为小写字母,并更新`letter_count`字典中相应字母的出现次数;最后计算字母概率,并返回一个字典`letter_prob`,其中键为字母,值为概率。在`batch_count_letter_prob`函数中,我们首先定义了一个字典`file_prob`,用于存储每个文件的字母概率;然后遍历文件夹下的所有txt文件,将每个文件的字母概率存储到`file_prob`字典中,并最终返回`file_prob`字典。在测试代码中,我们指定了一个文件夹路径`./txt_files`,并调用`batch_count_letter_prob`函数进行测试。程序将遍历该文件夹下的所有txt文件,并输出每个文件的字母概率

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值