C语言实现统计数组正负元素相关数据
在编程的世界里,对数组中元素的统计分析是常见的需求。今天,我们就来探讨一段用C语言实现的代码,它能统计数组中负数的个数以及正数的平均值。
代码功能概述
这段C语言代码的主要功能是:首先从用户处获取一个整数 n ,用于指定数组的大小。接着创建一个大小为 10000 的数组 arr ,并从用户输入中填充数组元素。然后遍历数组,分别统计负数的个数(用 count1 记录)和正数的个数(用 count3 记录),同时计算所有正数的总和(用 count2 记录)。最后,根据正数的总和与正数的个数计算出正数的平均值 sum ,并按照特定格式输出负数的个数和正数的平均值(如果没有正数,平均值为0)。
代码详细解析
预处理指令和头文件:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#define _CRT_SECURE_NO_WARNINGS 用于关闭Visual Studio中一些与安全相关的警告。 #include<stdio.h> 引入标准输入输出头文件,以便使用 scanf 和 printf 等函数。
主函数部分:
int main()
{
int n = 0;
int arr[10000] = { 0 };
scanf("%d", &n);
int count1 = 0;
double count2 = 0;
double count3 = 0;
double sum = 0.0;
在 main 函数中,首先定义了变量 n 用于存储数组大小,创建了数组 arr ,并通过 scanf 获取用户输入的数组大小。接着定义了 count1 、 count2 、 count3 和 sum 分别用于记录负数个数、正数总和、正数个数以及正数平均值。
填充数组元素:
for (int i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
通过一个 for 循环,从用户处获取数组的每个元素并存储到 arr 中。
统计和计算:
for (int i = 0; i < n; i++)
{
if (arr[i] < 0)
{
count1++;
}
if (arr[i] > 0)
{
count2 = count2 + arr[i];
count3++;
}
}
sum = count2 / count3;
这里的 for 循环遍历数组,判断每个元素是正数还是负数,分别进行相应的统计操作。遍历结束后,计算正数的平均值。
输出结果:
c
if (sum == 0)
{
sum = (int)sum;
printf("%d 0", count1);
}
else
{
printf("%d %.11lf", count1, sum);
}
return 0;
最后,根据计算得到的平均值 sum 是否为0,按照不同格式输出负数的个数和正数的平均值。
总结
通过这段代码,我们可以清晰地看到如何在C语言中对数组元素进行正负性的统计和相关计算。这不仅是C语言基础应用的体现,也为解决更复杂的数组处理问题提供了思路。希望这篇博客能帮助大家更好地理解和运用C语言进行数组操作。