编写一个c程序输入10个整数到一个一维数组求该数组中数据的平均值并输出(输出小数点后2位)输入输出必须使用文件,输入文件为in.txt,输出文件为out.txt
时间: 2024-05-07 20:21:21 浏览: 50
以下是实现该功能的C程序代码:
```c
#include <stdio.h>
int main() {
FILE *in_file, *out_file;
int arr[10], sum = 0;
// 打开文件,如果文件不存在则创建
in_file = fopen("in.txt", "r");
out_file = fopen("out.txt", "w");
// 读取文件中的数据到数组中
for (int i = 0; i < 10; i++) {
fscanf(in_file, "%d", &arr[i]);
sum += arr[i];
}
// 计算平均值并输出
double average = (double)sum / 10;
fprintf(out_file, "%.2lf", average);
// 关闭文件
fclose(in_file);
fclose(out_file);
return 0;
}
```
假设in.txt文件中的数据为:
```
1
2
3
4
5
6
7
8
9
10
```
程序将读取这些数据并计算平均值,然后将结果输出到out.txt文件中,输出结果为:
```
5.50
```
相关问题
c语言实现程序中定义一个整型3*4的二维数组,输入12个整数,要求输出数组周边元素的平均值。保留小数点后4位小数
在 c 语言中,可以使用如下的方式定义一个整型 3*4 的二维数组:
int a[3][4];
然后,可以使用一个循环来输入这 12 个整数:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
scanf("%d", &a[i][j]);
}
}
要输出数组周边元素的平均值,可以在外围加一个循环,遍历数组的每一个元素,并计算周边元素的和,最后求平均值。下面是示例代码:
#include <stdio.h>
#include <stdlib.h>
int main() {
int a[3][4];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
scanf("%d", &a[i][j]);
}
}
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
// 计算周边元素的和
int sum = 0;
int count = 0;
for (int m = i - 1; m <= i + 1; m++) {
for (int n = j - 1; n <= j + 1; n++) {
if (m >= 0 && m < 3 && n >= 0 && n < 4 && !(m == i && n == j)) {
sum += a[m][n];
count++;
}
}
}
// 计算平均值,保留小数点后 4 位
printf("%.4f\n", (double)sum / count);
}
}
return 0;
}
在这段代码中,我们首先输入了 12 个整数存到数组 a 中,然后对 a 中的每一个元素,都求出它周边元素的和,最后计算平均值并输出。
从键盘上输入一个M×N的二维数组,求该数组各行的平均值,将结果放到一个一维数组中,并输出,要求M和N的值用#define命令设置,平均值精确到小数点后两位。
程序内部给定,且保证输入的数字是非负整数。
假设M和N分别为m和n,输入的二维数组用二重循环遍历每一行,再用一个内层循环计算该行的所有元素之和,最后除以n得到该行的平均值,将其存储到一维数组中。最后输出该一维数组即可。
下面是代码示例:
```python
m = 3
n = 4
# 输入二维数组
arr = []
for i in range(m):
row = input().split()
row = [int(x) for x in row]
arr.append(row)
# 计算各行平均值
avg = []
for i in range(m):
sum_row = sum(arr[i])
avg_row = sum_row / n
avg.append(avg_row)
# 输出一维数组
for i in range(m):
print(avg[i], end=' ')
```
阅读全文