问题一,火炮问题,有思路,但不会写出代码来,目前学了c语言和数据结构

问题一,火炮问题,有思路,但不会写出代码来,目前学了c语言和数据结构,求解答,感谢

img

img

img

img

img

主要参考模拟框图来做即可,跟流程图差不多。

img


#include <stdio.h>
#include <stdlib.h>
int main()
{
float hit_rate = 0.5;
float destroy_rate = 1.0/3.0 + 1.0/6.0;
int hit_count = 0;
int destroy_count = 0;
for (int i = 0; i < 20; i++) {
    // 模拟指示是否正确
    if (rand() < hit_rate * RAND_MAX) {
        // 指示正确的情况下,模拟射击效果
        if (rand() < destroy_rate * RAND_MAX) {
            destroy_count++;
        }
        hit_count++;
    }
}
float effective_rate = (float) hit_count / 20.0;
float destroy_avg = (float) destroy_count / (float) hit_count;
printf("有效射击比率:%.2f\n", effective_rate);
printf("毁伤敌方火炮的平均值:%.2f\n", destroy_avg);
    
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632