编写函数fun计算主函数已读入的N个整数的平均值,以带2位小数的格式在主函数输出。
时间: 2024-03-23 19:38:27 浏览: 39
以下是一个可能的实现:
```c
#include <stdio.h>
void fun(int arr[], int n) {
int sum = 0;
for (int i = 0; i < n; i++) {
sum += arr[i];
}
double avg = (double) sum / n;
printf("%.2lf", avg);
}
int main() {
int n;
scanf("%d", &n);
int arr[n];
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
fun(arr, n);
return 0;
}
```
注意,这个函数并没有返回值,而是直接在函数内部使用 `printf` 函数输出了结果。这样做的好处是可以避免一些不必要的代码,但是缺点是函数的使用范围受到了限制,不能像有返回值的函数那样灵活地使用。
相关问题
由主函数任意读入10个整数,调用一个子函数求得其中的最大数及其下标,并且由主函数输出最大数和下标。
好的,这是一个简单的实现:
```python
def find_max(nums):
max_num = nums[0]
max_index = 0
for i in range(1, len(nums)):
if nums[i] > max_num:
max_num = nums[i]
max_index = i
return (max_num, max_index)
if __name__ == '__main__':
nums = []
for i in range(10):
num = int(input("请输入第%d个整数:" % (i+1)))
nums.append(num)
max_num, max_index = find_max(nums)
print("最大值为%d,下标为%d。" % (max_num, max_index))
```
主函数先读入10个整数,然后调用子函数 `find_max` 来求最大值及其下标。子函数 `find_max` 接收一个整数列表 `nums`,然后遍历列表,依次比较每个数与最大值,如果当前数比最大值大,则更新最大值和最大值下标。最后返回这两个值的元组。
最后主函数输出最大值和下标。
由主函数任意读入10个整数,调用一个子函数求得其中的最大数及其下标,并且由主函数输出最大数和下标。c++
以下是实现这个功能的 C++ 代码:
```cpp
#include <iostream>
using namespace std;
void find_max(int nums[], int size, int &max_num, int &max_index) {
max_num = nums[0];
max_index = 0;
for (int i = 1; i < size; i++) {
if (nums[i] > max_num) {
max_num = nums[i];
max_index = i;
}
}
}
int main() {
int nums[10];
for (int i = 0; i < 10; i++) {
cout << "请输入第" << i+1 << "个整数:";
cin >> nums[i];
}
int max_num, max_index;
find_max(nums, 10, max_num, max_index);
cout << "最大值为" << max_num << ",下标为" << max_index << "。" << endl;
return 0;
}
```
主函数先读入10个整数,然后调用子函数 `find_max` 来求最大值及其下标。子函数 `find_max` 接收一个整数数组 `nums`,数组大小 `size`,并且使用引用类型的参数 `max_num` 和 `max_index` 来返回最大值和最大值下标。子函数遍历整个数组,依次比较每个数与最大值,如果当前数比最大值大,则更新最大值和最大值下标。
最后主函数输出最大值和下标。
阅读全文