c语言编程:编写函数fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below数组中。例如,当score数组中的数据为10、20、30、40、50、60、70、80、90时,函数返回的人数应该是4,below中的数据应为10、20、30、40。
时间: 2023-12-28 09:56:59 浏览: 30
以下是符合要求的C语言函数fun的实现:
```c
int fun(int score[], int below[], int n) {
int i, sum = 0, avg, count = 0;
for(i = 0; i < n; i++) {
sum += score[i];
}
avg = sum/n;
for(i = 0; i < n; i++) {
if(score[i] < avg) {
below[count++] = score[i];
}
}
return count;
}
```
该函数接收三个参数:score是一个整型数组,存储了n个人的分数;below是一个整型数组,用于存储低于平均分的分数;n表示有多少个人的分数需要进行比较。
函数首先计算score数组的平均值avg,然后遍历score数组,将低于平均分的分数存入below数组中,并使用count计数。最后,函数返回count的值,即低于平均分的人数。
相关问题
用c语言:请编写函数fun(),函数的功能是:求出某个二维数组的周边元素值之和,作为函数值返回。
好的,以下是使用C语言编写的求二维数组周边元素值之和的函数fun()的代码:
```c
#include <stdio.h>
#define ROW 3 // 定义二维数组的行数
#define COL 3 // 定义二维数组的列数
int fun(int arr[][COL], int row, int col) {
int sum = 0;
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
if (i == 0 || i == row - 1 || j == 0 || j == col - 1) {
sum += arr[i][j];
}
}
}
return sum;
}
int main() {
int arr[ROW][COL] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int sum = fun(arr, ROW, COL);
printf("二维数组周边元素值之和为:%d\n", sum);
return 0;
}
```
解释一下代码:
1. 首先在程序中定义了一个二维数组 `arr`,并初始化了它的值。
2. 然后定义了一个求二维数组周边元素值之和的函数fun(),它的输入参数是二维数组arr、行数row和列数col,返回值是周边元素值之和sum。函数中使用了双重循环遍历二维数组,如果当前元素是周边元素(即在第一行、最后一行、第一列或最后一列),则将它的值累加到sum中。
3. 在主函数中,调用函数fun(),将二维数组arr、行数ROW和列数COL作为参数传递给函数fun(),并将返回的周边元素值之和赋值给变量sum。
4. 最后使用 `printf()` 函数输出计算得到的周边元素值之和。
注意事项:
1. 在定义二维数组时,需要指定行数和列数。
2. 在使用二维数组作为函数参数时,需要指定列数,可以使用宏定义或者函数参数传递方式来实现。
C语言功能:编写函数fun,求任一整数m的n次方。
可以使用循环结构实现,函数定义如下:
```c
double fun(int m, int n) {
double result = 1.0;
for (int i = 0; i < n; i++) {
result *= m;
}
return result;
}
```
其中,m为底数,n为指数,result为计算结果。循环语句中,每次将m与result相乘,共循环n次,最终得到m的n次方的结果,并将其返回。需要注意的是,为了避免结果溢出,可以使用数据类型为double的变量存储结果。