用C语言编写一个函数 int fun(int *s, int t, int *k),用来求出一维数组的最大元素在数组中的下标,用k返回。在主函数中,定义一维整型数组,输入各元素的值,调用fun函数求数组最大元素下标,输出最大元素的下标和最大元素的值。 例如, 输入如下整数: 876 675 896 101 301 401 980 431 451 777 则输出结果为: 6, 980
时间: 2023-05-30 19:02:26 浏览: 258
```c
#include <stdio.h>
int fun(int *s, int t, int *k) {
int max = 0; // 记录最大值
int index = 0; // 记录最大值所在下标
for (int i = 0; i < t; i++) {
if (s[i] > max) {
max = s[i];
index = i;
}
}
*k = index; // 将最大值所在下标赋值给k
return max; // 返回最大值
}
int main() {
int arr[10];
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
int maxIndex;
int maxValue = fun(arr, 10, &maxIndex);
printf("%d, %d", maxIndex, maxValue);
return 0;
}
```
相关问题
C语言编写一个函数void fun(int tt[m][n], int pp[n]),tt指向一个m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。二维数组中的数已在主函数中赋予
您好!要实现这个功能,可以按照以下步骤编写函数:
```c
void fun(int tt[m][n], int pp[n]) {
int i, j;
// 遍历每一列
for (j = 0; j < n; j++) {
int min = tt[0][j]; // 假设第一个元素为最小值
// 遍历当前列的每个元素,找到最小值
for (i = 1; i < m; i++) {
if (tt[i][j] < min) {
min = tt[i][j];
}
}
pp[j] = min; // 将最小值存入pp数组中
}
}
```
在主函数中,您需要先声明一个二维数组tt和一个一维数组pp,并为二维数组赋值。然后调用函数fun来将每列的最小元素存入pp数组中。以下是一个示例:
```c
#include <stdio.h>
#define m 3 // 定义二维数组的行数
#define n 4 // 定义二维数组的列数
void fun(int tt[m][n], int pp[n]) {
// 函数实现,见上述代码
}
int main() {
int tt[m][n] = {{3, 5, 2, 7},
{1, 9, 4, 6},
{8, 2, 0, 11}};
int pp[n];
int i;
fun(tt, pp);
printf("每列最小元素:");
for (i = 0; i < n; i++) {
printf("%d ", pp[i]);
}
return 0;
}
```
运行上述代码,输出结果为:
```
每列最小元素:1 2 0 6
```
希望能帮到您!如果还有其他问题,请随时提问。
C语言:本关任务:请编写函数fun(),函数的功能是:求出某个二维数组(如5行5列)的周边元素值之和,作为函数值返回。 测试说明 平台会对你编写的代码进行测试: 输入:第一行为一个整数n,代表数组维数。第二行开始为二维数组赋值。 输出:周边元素之和。已给出:#include <stdio.h> #define N 10 int fun(int a[N][N], int n) /********** Begin **********/ /********** End **********/
C语言代码如下:
```c
#include <stdio.h>
#define N 10
/********** Begin **********/
int fun(int a[N][N], int n) {
int sum = 0;
int i, j;
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
if (i == 0 || i == n - 1 || j == 0 || j == n - 1) {
sum += a[i][j];
}
}
}
return sum;
}
/********** End **********/
int main() {
int a[N][N], i, j, n;
scanf("%d", &n);
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
scanf("%d", &a[i][j]);
}
}
printf("%d", fun(a, n));
return 0;
}
```
函数 fun 的实现思路是遍历二维数组 a,对于第一行、最后一行、第一列和最后一列的元素,将它们的值加入到 sum 中。最后返回 sum 作为结果。主函数中输入数组维数 n 和二维数组的值,调用函数 fun 求出周边元素之和,并输出结果。
阅读全文
相关推荐

















