本题要求编写程序,将输入的n个整数存入数组a中,然后计算这些数的平均值,再输出所有大于平均值的数。
时间: 2023-05-31 18:18:04 浏览: 232
C语言程序 计算所输入的整数n的1到n总和和平均数
### 回答1:
以下是一个简单的程序示例,使用Python语言实现:
```python
# 获取n个整数
n = int(input("请输入整数个数:"))
a = []
for i in range(n):
a.append(int(input("请输入第{}个整数:".format(i+1))))
# 计算平均值
average = sum(a) / n
# 输出大于平均值的数
print("大于平均值的数有:")
for i in a:
if i > average:
print(i)
```
请注意,上面的程序示例只是一种实现方式,您可能会有更多其他方式来实现这个需求.
### 回答2:
这是一道比较常见的程序设计题目,它主要考察了对数组和循环的理解、掌握和运用。
对于这道题目,首先需要明确的是输入的n个整数需要被存入一个数组a中。我们可以使用scanf函数来读取输入,并通过循环将这些数存储到数组a中。具体实现如下:
```
int n;
int a[100];
scanf("%d", &n);
for(int i = 0; i < n; i++){
scanf("%d", &a[i]);
}
```
接下来需要计算这n个数的平均值。可以通过循环遍历数组a并将其中的元素累加,最后除以n即可得到平均值。具体实现如下:
```
double avg = 0;
for(int i = 0; i < n; i++){
avg += a[i];
}
avg /= n;
```
最后,需要输出数组a中所有大于平均值的数。可以再次使用循环遍历数组a,并判断是否大于平均值,如果是则输出该数。具体实现如下:
```
for(int i = 0; i < n; i++){
if(a[i] > avg){
printf("%d ", a[i]);
}
}
```
综合起来,完整的程序如下:
```
#include <stdio.h>
int main()
{
int n;
int a[100];
scanf("%d", &n);
for(int i = 0; i < n; i++){
scanf("%d", &a[i]);
}
double avg = 0;
for(int i = 0; i < n; i++){
avg += a[i];
}
avg /= n;
for(int i = 0; i < n; i++){
if(a[i] > avg){
printf("%d ", a[i]);
}
}
return 0;
}
```
需要注意的是,输入的n不能超过数组a的大小,否则会出现数组越界的情况。同时,还需要考虑一些边界情况,比如当n等于0的时候,需要特殊处理。
### 回答3:
这道题目可以划分成两个步骤。首先,输入n个整数,存入数组a中,并计算这些数的平均值。其次,输出所有大于平均值的数。
第一步,我们可以通过下面的代码实现:
```
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int a[n];
double sum = 0;
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
sum += a[i];
}
double average = sum / n;
printf("平均值为:%.2lf\n", average);
return 0;
}
```
代码解释:
首先,我们通过scanf()函数输入n,并定义一个整型数组a,用来存储输入的n个整数。接着,我们定义一个变量sum,用来存储数组a中所有元素的和。使用for循环,循环次数为n,每次循环通过scanf()函数输入一个整数,并将其加入sum中。最后,我们计算平均值,将sum除以n,得到平均值,并将其赋值为变量average,通过printf()函数输出平均值。
第二步,我们可以使用for循环遍历数组a中的所有元素,如果元素大于平均值,就输出它。可以通过下面的代码实现:
```
for (int i = 0; i < n; i++) {
if (a[i] > average) {
printf("%d ", a[i]);
}
}
printf("\n");
```
代码解释:
使用for循环遍历数组a中的所有元素,循环次数为n。在每次循环中,判断当前元素是否大于平均值,如果是就通过printf()函数输出它。最后在末尾输出一个换行符。
完整的代码如下:
```
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int a[n];
double sum = 0;
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
sum += a[i];
}
double average = sum / n;
printf("平均值为:%.2lf\n", average);
for (int i = 0; i < n; i++) {
if (a[i] > average) {
printf("%d ", a[i]);
}
}
printf("\n");
return 0;
}
```
这道题目主要考察对数组的使用以及for循环的掌握情况。同时,需要注意输入输出的格式。
阅读全文