C语言 食堂开发了5种新菜品,分别用1~5 标识,为了测试受欢迎程度,特邀若干人试吃并进行无记名投票,请统计得票最高的菜品及最终每个菜品的得票数。
时间: 2024-06-10 14:06:01 浏览: 109
基于c语言的点菜系统
好的,您的问题是:C语言 食堂开发了5种新菜品,分别用1~5 标识,为了测试受欢迎程度,特邀若干人试吃并进行无记名投票,请统计得票最高的菜品及最终每个菜品的得票数。
根据您的要求,我可以给您提供一个简单的解决方案:
1. 首先,我们需要定义一个记录每个菜品得票数的数组,数组长度设置为5,每个元素初始化为0。
2. 然后,我们需要模拟投票过程,可以使用随机数生成器模拟每个人的投票情况,将投票结果存入对应菜品的得票数组中。
3. 最后,我们遍历得票数组,找到最高得票的菜品及其得票数,输出结果即可。
具体实现代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int votes[5] = {0, 0, 0, 0, 0}; // 初始化每个菜品的得票数为0
int num_voters = 100; // 假设有100个人进行投票
int i, j;
srand((unsigned int)time(NULL)); // 初始化随机数生成器
// 模拟投票过程
for (i = 0; i < num_voters; i++) {
int vote = rand() % 5 + 1; // 生成1~5的随机数作为投票结果
votes[vote-1]++; // 将投票结果累加到对应菜品的得票数中
}
// 输出统计结果
int max_votes = 0;
int max_index = 0;
for (j = 0; j < 5; j++) {
printf("菜品%d的得票数为%d\n", j+1, votes[j]);
if (votes[j] > max_votes) {
max_votes = votes[j];
max_index = j+1;
}
}
printf("得票最高的菜品是%d,得票数为%d\n", max_index, max_votes);
return 0;
}
请注意,这只是一个简单的解决方案,可能存在一些局限性和不足之处,具体应根据实际情况加以修改和完善。
阅读全文