C语言用指针法实现3个数求最大值
时间: 2023-08-15 15:39:34 浏览: 272
可以使用指针法来实现3个数求最大值,代码如下:
```c
#include <stdio.h>
int main() {
int a, b, c, max;
int *p1, *p2, *p3;
printf("请输入三个整数:\n");
scanf("%d%d%d", &a, &b, &c);
p1 = &a;
p2 = &b;
p3 = &c;
max = *p1;
if (*p2 > max) {
max = *p2;
}
if (*p3 > max) {
max = *p3;
}
printf("三个数中的最大值为:%d\n", max);
return 0;
}
```
我们定义了三个整数变量 `a`、`b`、`c` 和三个指针变量 `p1`、`p2`、`p3`,分别指向这三个整数变量。然后使用指针法来找出三个数中的最大值,最后输出结果。
相关问题
c语言指针实现三个数找最大值
可以使用指针来实现三个数找最大值的功能,具体实现如下:
```c
#include <stdio.h>
int max(int *a, int *b, int *c) {
int max_num = *a;
if (*b > max_num) {
max_num = *b;
}
if (*c > max_num) {
max_num = *c;
}
return max_num;
}
int main() {
int a = 10, b = 20, c = 30;
int max_num = max(&a, &b, &c);
printf("Max number is: %d\n", max_num);
return 0;
}
```
在上述代码中,定义了一个 `max` 函数,它接收三个指针类型的整数变量 `a`、`b`、`c`,并返回它们三个中的最大值。在函数内部,首先将 `max_num` 初始化为 `a` 所指向的值,然后依次比较 `b` 和 `c` 所指向的值,如果它们中的任意一个比 `max_num` 大,就将 `max_num` 更新为该值。最后返回 `max_num` 即可。
在 `main` 函数中,定义了三个整数变量 `a`、`b`、`c`,并分别赋值为 `10`、`20`、`30`。然后调用 `max` 函数并将三个变量的地址作为参数传入。最后将 `max` 函数的返回值打印出来即可。
c语言用指针求三个数的最大值最小值和平均值
以下是使用指针求三个数的最大值、最小值和平均值的C语言代码:
```c
#include <stdio.h>
void Score(int b[], int* max, int* min, float* avg) {
int i;
*min = *max = *avg = b[0];
for (i = 1; i < 5; i++) {
if (b[i] < *min) {
*min = b[i];
}
if (b[i] > *max) {
*max = b[i];
}
*avg += b[i];
}
*avg = *avg / 5;
}
int main() {
int a[5], min, max;
float avg;
for (int i = 0; i < 5; i++) {
scanf("%d", &a[i]);
}
Score(a, &max, &min, &avg);
printf("max=%d, min=%d, avg=%.1f\n", max, min, avg);
return 0;
}
```
这段代码中,我们定义了一个名为Score的函数,该函数接受一个整型数组b、一个指向最大值的指针max、一个指向最小值的指针min和一个指向平均值的指针avg作为参数。在函数中,我们使用循环遍历整型数组b,找到其中的最大值、最小值,并计算出平均值。最后,我们将最大值、最小值和平均值分别存储到指针max、min和avg所指向的内存地址中。
在main函数中,我们定义了一个名为a的整型数组,用于存储5名学生的成绩。然后,我们使用scanf函数从标准输入中读取5个整数,并将它们存储到数组a中。接着,我们调用Score函数,将数组a和三个指针作为参数传递给它,计算出最大值、最小值和平均值,并将它们打印到标准输出中。
阅读全文