c语言 实验8-1-2 利用指针找最大值 题目描述 本题要求实现一个简单函数,找出两个数中的最大值。 函数接口定义: void findmax( int *px, int *py, int *pmax ); 其中和是用户传入的两个整数的指针。函数应找出两个指针所指向的整数中的最大值,存放在指向的位置。pxpyfindmaxpmax 主函数参考代码如下: #include <stdio.h> void findmax( int *px, int *py, int *pmax ); int main() { 整数最大值, x, y; scanf(“%d %d”, &x, &y); findmax( &x, &y, &max ); printf(“%d\n”, max); 返回 0; }
时间: 2024-02-27 12:57:29 浏览: 48
以下是 C 语言实验8-1-2的完整代码,可以直接在 C 语言编译器中运行:
```c
#include <stdio.h>
void findmax(int *px, int *py, int *pmax);
int main(void) {
int max, x, y;
scanf("%d %d", &x, &y);
findmax(&x, &y, &max);
printf("%d\n", max);
return 0;
}
void findmax(int *px, int *py, int *pmax) {
if (*px > *py) {
*pmax = *px;
} else {
*pmax = *py;
}
}
```
在这个程序中,主函数通过 `scanf` 函数读入两个整数 `x` 和 `y`,然后调用 `findmax` 函数找出它们的最大值,并将结果存储在变量 `max` 中。`findmax` 函数接收三个指针参数,分别指向 `x`、`y` 和 `max`,函数内部根据指针所指向的整数值的大小关系,将最大值存储到 `pmax` 所指向的位置中。最后主函数输出变量 `max` 的值,即为两个整数的最大值。
相关问题
运用C语言,指针.编一函数,找出10个数中的最大值,并输出在数中的位置
好的,这是一个使用指针实现的函数,它可以找出 10 个数中的最大值,并输出其在数组中的位置:
```c
#include <stdio.h>
void find_max(int *arr, int len) {
int max_num = *arr;
int max_index = 0;
for (int i = 1; i < len; i++) {
if (*(arr + i) > max_num) {
max_num = *(arr + i);
max_index = i;
}
}
printf("最大值为 %d,在数列中的位置为 %d\n", max_num, max_index);
}
int main() {
int arr[10] = {2, 4, 6, 8, 10, 9, 7, 5, 3, 1};
find_max(arr, 10);
return 0;
}
```
在这个程序中,我们定义了一个 `find_max` 函数,它接受一个整数指针 `arr` 和数组的长度 `len` 作为参数。函数中使用一个循环遍历数组,找出最大值和它在数组中的位置,并用 `printf` 函数输出结果。在 `main` 函数中,我们定义了一个包含 10 个数字的数组,然后将其作为指针传递给 `find_max` 函数来查找其中的最大值。
输出结果为:
```
最大值为 10,在数列中的位置为 4
```
希望能对你有所帮助!
用c语言,利用指针找两个数中的最大值
可以使用指针来实现找两个数中的最大值,具体的代码如下所示:
```c
#include <stdio.h>
int max(int *a, int *b) {
if (*a > *b) {
return *a;
} else {
return *b;
}
}
int main() {
int x = 10, y = 20;
int *a = &x, *b = &y;
printf("Max value: %d\n", max(a, b));
return 0;
}
```
在代码中,我们首先定义了一个 `max` 函数,该函数接收两个 `int` 类型的指针作为参数,然后使用指针解引用来比较两个数的大小,最后返回较大的那个数。
在 `main` 函数中,我们定义了两个 `int` 类型的变量 `x` 和 `y`,然后分别取它们的地址赋值给指针 `a` 和 `b`,最后调用 `max` 函数来找到两个数中的最大值。