C语言写输入8个实数输出最大值,最小值,和,平均值
时间: 2024-04-29 17:24:53 浏览: 114
你好,这是一个关于C语言的问题。以下是解答:
您可以通过以下代码来实现输入8个实数并输出它们的最大值、最小值、和、平均值:
```
#include <stdio.h>
int main()
{
double arr[8];
int i;
double sum = 0;
double max, min;
for(i = 0; i < 8; i++) { // 获取输入值
printf("请输入第 %d 个实数:", i+1);
scanf("%lf", &arr[i]);
if(i == 0) { // 初始化max和min为第一个输入值
max = arr[i];
min = arr[i];
} else { // 找到最大和最小值
if(arr[i] > max) {
max = arr[i];
}
if(arr[i] < min) {
min = arr[i];
}
}
sum += arr[i]; // 计算总和
}
printf("最大值为 %.2lf,最小值为 %.2lf,和为 %.2lf,平均值为 %.2lf。", max, min, sum, sum/8.0);
return 0;
}
```
希望对您有所帮助!
相关问题
c语言完成:编写程序。从键盘任意输入n(10≥n≥3)个正实数保存在一个数组中,以-1结束。去掉一个最大数,去掉一个最小数 求剩下n-2个数的平均值(输出时要求保留2位小数)。 9.5 10 8.5 9.4 8.9 -1 例如输入 实数个数5 则输出 最大值10.00 最小值8.50 平均值9.27
下面是实现这个需求的 c 代码:
```
#include <stdio.h>
#include <stdlib.h>
int main()
{
double n[10]; // 存储输入的数
int i = 0;
double sum = 0; // sum 用于累加和
double max = -1e300, min = 1e300; // max 和 min 分别用于记录最大值和最小值
printf("请输入数字,以 -1 结束:\n");
while (1) {
scanf("%lf", &n[i]);
if (n[i] == -1) {
break;
}
// 更新最大值和最小值
if (n[i] > max) {
max = n[i];
}
if (n[i] < min) {
min = n[i];
}
sum += n[i]; // 累加和
i++;
}
// 输出最大值和最小值
printf("最大值:%.2f\n", max);
printf("最小值:%.2f\n", min);
// 计算平均值
double avg = (sum - max - min) / (i - 2);
printf("平均值:%.2f\n", avg);
return 0;
}
```
希望这个代码能帮到你。
c语言一维实型数组 编写函数计算一维实型数组前n个元素的最大值、最小值和平均值。数组、n、最大值、最小值和平均值均作为函数形参,函数无返回值:在主函数中输入数据,调用函数得到结果。(要求用指针方法实现)
好的,下面是代码实现:
```c
#include <stdio.h>
void calculate(float arr[], int n, float *max, float *min, float *avg){
*max = *min = *avg = arr[0];
for(int i=1; i<n; i++){
if(arr[i] > *max){
*max = arr[i];
}
if(arr[i] < *min){
*min = arr[i];
}
*avg += arr[i];
}
*avg /= n;
}
int main(){
float arr[100], max, min, avg;
int n;
printf("请输入数组长度n:");
scanf("%d", &n);
printf("请输入%d个实数:", n);
for(int i=0; i<n; i++){
scanf("%f", &arr[i]);
}
calculate(arr, n, &max, &min, &avg);
printf("最大值为:%f\n", max);
printf("最小值为:%f\n", min);
printf("平均值为:%f\n", avg);
return 0;
}
```
在这个程序中,我们定义了一个名为 `calculate` 的函数,它接受一个一维实型数组,数组长度,以及三个指向 float 类型变量的指针。这个函数通过指针修改了最大值、最小值和平均值的值,而没有使用返回值。在计算最大值和最小值时,我们使用了 if 语句来进行判断;在计算平均值时,我们使用了累加器的方式,最后再除以 n 得到平均值。
在主函数中,我们首先读取了数组长度和数组中的数据,然后调用 `calculate` 函数来计算最大值、最小值和平均值。最后,我们使用 printf 函数打印出这三个值。
需要注意的是,在调用 `calculate` 函数时,我们传递了三个指针作为参数,这些指针分别指向了定义在主函数中的三个变量。因为这些变量的地址会传递给 `calculate` 函数,所以在函数内部就可以通过指针来修改这些变量的值,而这些修改也会反映到主函数中的变量上。
阅读全文