您的位置:首页 > 健康 > 养生 > 手机网站建设咨询_公司网站开发_公众号代运营_十大广告公司排名

手机网站建设咨询_公司网站开发_公众号代运营_十大广告公司排名

2024/10/7 6:35:04 来源:https://blog.csdn.net/weixin_56334307/article/details/142712931  浏览:    关键词:手机网站建设咨询_公司网站开发_公众号代运营_十大广告公司排名
手机网站建设咨询_公司网站开发_公众号代运营_十大广告公司排名

源码:

#include<iostream>// 函数声明
void conditionCount(int *cond, int *total, bool flag);int main() {// 示例数组,包含5个整数int arr[5] = {2, 4, 3, 5, 6};// 初始化总计数器和条件计数器int total = 0;int cond = 0;// 遍历数组,对每个元素调用conditionCountfor (int i = 0; i < 5; i++) {// 调用conditionCount,其中arr[i]%2==0检查元素是否为偶数// &cond 和 &total 分别是条件计数器和总计数器的地址conditionCount(&cond, &total, arr[i] % 2 == 0);}// 计算偶数的概率(注意:这里假设total不为0)double gailv = (double)cond / total;// 输出偶数的概率std::cout << "偶数的概率为:" << gailv << std::endl;return 0;
}// 函数定义
void conditionCount(int *cond, int *total, bool flag) {// 总计数器加1(*total)++;// 如果flag为真(即元素为偶数),则条件计数器加1if (flag) {(*cond)++;}
}

输出结果

 

text

偶数的概率为:0.6

解释

  1. 函数定义‌:conditionCount 函数接受三个参数:两个整数的指针(分别用于条件计数和总计数)和一个布尔值(用于判断是否满足特定条件)。

  2. 主函数‌:

    • 定义了一个包含5个整数的数组 arr
    • 初始化了两个计数器 total 和 cond
    • 通过循环遍历数组 arr,对每个元素调用 conditionCount 函数,其中 arr[i] % 2 == 0 用于检查元素是否为偶数。
    • 最后,计算偶数的概率(偶数的数量除以总元素数),并输出结果。

注意事项

  • 在计算概率时,假设 total 不为0。在实际应用中,可能需要添加一些错误检查或处理逻辑来避免除以零的错误。
  • 示例中的数组和函数都是硬编码的,但在实际应用中,它们可能需要根据具体情况进行调整或参数化。

不过,有一点小细节需要注意,当数组中没有元素(即 total 为 0)时,直接进行除法 (double) cond / total 会导致除以零的错误。虽然在你的例子中数组至少有一个元素,但在更通用的场景中,这种情况可能会发生。

为了避免潜在的除以零错误,你可以在计算概率之前检查 total 是否为 0。如果是,则可以输出一个错误消息或设置概率为 0(或 NaN,表示“不是一个数字”)。下面是修改后的代码示例:

#include<iostream>void conditionCount(int *cond, int *total, bool flag) {
(*total)++;
if (flag) {
(*cond)++;
}
}int main() {
int arr[5] = {2, 4, 3, 5, 6};
int total = 0;
int cond = 0;
for (int i = 0; i < 5; i++) {
conditionCount(&cond, &total, arr[i] % 2 == 0);
}double gailv;
if (total == 0) {
std::cout << "数组中没有元素,无法计算概率。" << std::endl;
gailv = 0.0; // 或者使用 std::numeric_limits<double>::quiet_NaN();
} else {
gailv = (double)cond / total;
std::cout << "偶数的概率为:" << gailv << std::endl;
}return 0;
}

在这个修改中,我添加了一个检查来确保 total 不为 0,然后才计算概率。如果 total 为 0,则输出一个错误消息,并将 gailv 设置为 0(或者你可以使用 std::numeric_limits<double>::quiet_NaN() 来表示一个未定义或不可表示的值,但这需要包含 <limits> 头文件)。

此外,你的代码逻辑和函数设计是清晰和有效的,能够很好地满足统计和计算概率的需求。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com