输入10个数,输出他们的平均值,并求出与平均值之差的绝对值为最小的数组元素。C语言代码
时间: 2024-03-14 09:46:14 浏览: 30
好的,以下是 C 语言代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int nums[10];
int sum = 0;
float avg;
int minDiff = 2147483647; // 初始化为 int 最大值
int minIndex;
// 输入 10 个数
printf("请输入 10 个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &nums[i]);
sum += nums[i];
}
// 计算平均值
avg = (float)sum / 10;
printf("平均值为:%.2f\n", avg);
// 求与平均值之差的绝对值最小的数组元素
for (int i = 0; i < 10; i++) {
int diff = abs(nums[i] - avg);
if (diff < minDiff) {
minDiff = diff;
minIndex = i;
}
}
printf("与平均值之差的绝对值最小的数组元素为:%d\n", nums[minIndex]);
return 0;
}
```
希望能够解决你的问题!
相关问题
c语言输入10个数输出他们的平均值并求出与平均值之差绝对值为最小的数组元素
好的,我来为您解答这个问题。
您可以按照以下步骤来实现:
1. 定义一个数组,用于存储输入的10个数;
2. 循环读入10个数并累加它们的和;
3. 计算平均值;
4. 循环遍历数组,求出与平均值之差绝对值最小的元素;
5. 输出平均值和最小元素。
下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define SIZE 10
int main() {
int array[SIZE];
int sum = 0;
double avg = 0.0;
// 读入10个数并累加它们的和
printf("请输入10个整数:\n");
for (int i = 0; i < SIZE; i++) {
scanf("%d", &array[i]);
sum += array[i];
}
// 计算平均值
avg = (double)sum / SIZE;
printf("平均值为:%.2lf\n", avg);
// 求出与平均值之差绝对值最小的元素
int min_diff_index = 0;
int min_diff = abs(array[0] - avg);
for (int i = 1; i < SIZE; i++) {
int diff = abs(array[i] - avg);
if (diff < min_diff) {
min_diff = diff;
min_diff_index = i;
}
}
// 输出平均值和最小元素
printf("与平均值差绝对值最小的元素为:%d\n", array[min_diff_index]);
return 0;
}
```
希望我的回答能够帮助到您!
c语言 输入10个数,输出它们的平均值,并求出与平均值之差的绝对值为最小的 数组元素。
好的,这是一个比较基础的C语言问题,下面是代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int nums[10]; // 存放10个数的数组
int sum = 0; // 用于计算数组元素的和
int avg; // 存放平均值
int min_index; // 存放平均值差的绝对值最小的元素下标
int min_diff; // 存放平均值差的绝对值最小的元素与平均值的差值
// 输入10个数
printf("请输入10个整数:\n");
for(int i=0; i<10; i++)
{
scanf("%d", &nums[i]);
sum += nums[i];
}
// 计算平均值
avg = sum / 10;
// 初始化最小值差的绝对值和下标
min_diff = abs(nums[0] - avg);
min_index = 0;
// 找到平均值差的绝对值最小的元素下标
for(int i=1; i<10; i++)
{
int diff = abs(nums[i] - avg);
if(diff < min_diff)
{
min_index = i;
min_diff = diff;
}
}
// 输出平均值和平均值差的绝对值最小的元素
printf("平均值为:%d\n", avg);
printf("平均值与数组中元素差的绝对值最小的元素为:%d\n", nums[min_index]);
return 0;
}
```
希望对你有所帮助!