通过函数fun计算并返回数组最大值的位置。在主函数中输出最大值及其位置 #include<stdio.h> #include<stdlib.h> void PutRes(void); int fun(int *,int); int fun(int*p,int n)
时间: 2024-05-13 13:03:47 浏览: 106
{
int max = *p; // 初始化最大值为数组第一个元素
int pos = 0; // 记录最大值位置
for(int i=1; i<n; i++)
{
if(*(p+i) > max)
{
max = *(p+i);
pos = i;
}
}
return pos;
}
void PutRes(void)
{
int arr[10];
printf("请输入10个整数:\n");
for(int i=0; i<10; i++)
{
scanf("%d", &arr[i]);
}
int max_pos = fun(arr, 10);
printf("最大值为%d,位置为%d\n", arr[max_pos], max_pos);
}
int main()
{
PutRes();
return 0;
}
相关问题
用c语言续写:通过函数放计算并返回数组最大值的位置,在主函数中输出最大值及其位置:#include<stdio.h>#include<stdlib.h>void PutRes (void);int fun (int*,int);int fun(int*p,int n){
int max = *p; // 假设第一个元素为最大值
int pos = 0; // 最大值的位置
for (int i = 1; i < n; i++) {
if (*(p+i) > max) { // 如果当前元素大于最大值
max = *(p+i); // 更新最大值
pos = i; // 更新最大值的位置
}
}
return pos; // 返回最大值的位置
}
void PutRes(void) {
int arr[10] = {1, 9, 2, 8, 3, 7, 4, 6, 5, 0};
int maxPos = fun(arr, 10); // 获取最大值的位置
printf("数组最大值为:%d,位置为:%d", arr[maxPos], maxPos);
}
int main() {
PutRes();
return 0;
}
题目:通过函数fun计算并返回数组最大值的位置。在士函数中 输出最大值及其位置。开头为 #include <stdio.h> #include <stdlib.h> void PutRes(void) int fun(int *int): int fun(int "p.int n)
好的,让我来解答您的问题。根据您提供的题目,我给出以下代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
int fun(int *p, int n) {
int max = *p;
int pos = 0;
for (int i = 1; i < n; i++) {
if (*(p+i) > max) {
max = *(p+i);
pos = i;
}
}
printf("数组最大值为:%d,位置为:%d\n", max, pos);
return pos;
}
void PutRes(void) {
int arr[] = {1, 3, 5, 9, 7, 10};
int len = sizeof(arr) / sizeof(int);
int max_pos = fun(arr, len);
printf("最大值位置为:%d\n", max_pos);
}
int main() {
PutRes();
return 0;
}
```
函数 `fun` 的作用是计算并返回数组最大值的位置。在函数内部,通过遍历数组,找到最大值以及其所在位置。然后输出最大值及其位置。最后返回最大值所在位置。
函数 `PutRes` 是一个辅助函数,用来测试函数 `fun` 的效果。在函数内部,定义一个数组,并将数组作为参数传递给函数 `fun`,得到最大值的位置。然后输出最大值位置。在 `main` 函数中调用 `PutRes` 函数,运行程序,即可得到最大值及其位置的输出结果。
希望我的回答能够解决您的问题。如果您还有其他问题,欢迎提出。
阅读全文