用c语言编程从键盘输入n个数并保存到数组中,计算并输出偶下标元素的和、n个数中的最大值及其下标、正数的平均值、负数的平均值。
时间: 2023-06-25 16:04:45 浏览: 121
第二题_C语言程序_for循环语句使用_数组从键盘输入_
以下是用C语言编写的程序,可以实现从键盘输入n个数并保存到数组中,计算并输出偶下标元素的和、n个数中的最大值及其下标、正数的平均值、负数的平均值。
```c
#include <stdio.h>
int main() {
int n, i;
printf("请输入n的值:");
scanf("%d", &n);
int a[n];
// 从键盘输入n个数并保存到数组中
for (i = 0; i < n; i++) {
printf("请输入第%d个数:", i + 1);
scanf("%d", &a[i]);
}
// 计算偶下标元素的和
int even_sum = 0;
for (i = 0; i < n; i += 2) {
even_sum += a[i];
}
printf("偶下标元素的和为:%d\n", even_sum);
// 计算最大值及其下标
int max = a[0], max_index = 0;
for (i = 1; i < n; i++) {
if (a[i] > max) {
max = a[i];
max_index = i;
}
}
printf("最大值为:%d,它的下标为:%d\n", max, max_index);
// 计算正数的平均值和负数的平均值
double positive_sum = 0, negative_sum = 0;
int positive_count = 0, negative_count = 0;
for (i = 0; i < n; i++) {
if (a[i] > 0) {
positive_sum += a[i];
positive_count++;
} else if (a[i] < 0) {
negative_sum += a[i];
negative_count++;
}
}
double positive_average = positive_sum / positive_count;
double negative_average = negative_sum / negative_count;
printf("正数的平均值为:%.2f,负数的平均值为:%.2f\n", positive_average, negative_average);
return 0;
}
```
注意,这里假设输入的n是正整数,并且数组中至少有一个元素。如果输入的n为0或负数,程序可能会出现异常。此外,程序没有考虑数组中所有元素都为0的情况。
阅读全文