c语言利用指针找三个值最小值
时间: 2023-08-07 19:07:36 浏览: 84
可以使用指针来实现找三个值的最小值,具体实现如下:
```c
#include <stdio.h>
void findMin(int *a, int *b, int *c, int *min) {
*min = *a;
if (*min > *b) {
*min = *b;
}
if (*min > *c) {
*min = *c;
}
}
int main() {
int a, b, c, min;
printf("请输入三个数:");
scanf("%d %d %d", &a, &b, &c);
findMin(&a, &b, &c, &min);
printf("三个数中的最小值为:%d\n", min);
return 0;
}
```
在这个程序中,我们定义了一个 `findMin` 函数,它接收三个指向整数的指针和一个指向整数的 `min` 指针。在函数中,我们首先将 `min` 的值赋为 `a` 的值,然后与 `b` 和 `c` 比较,如果比 `b` 或 `c` 小,则将 `min` 的值更新为更小的值。最后,在 `main` 函数中,我们将 `a`、`b`、`c` 和 `min` 的指针传递给 `findMin` 函数,并将 `min` 的值输出。
相关问题
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和三个指针作为参数传递给它,计算出最大值、最小值和平均值,并将它们打印到标准输出中。
c语言用指针方法实现输入三个整数输出最小值
好的,我可以帮你解决这个问题。
你可以使用指针来实现输入三个整数并输出最小值的功能。具体实现方法如下:
```c
#include <stdio.h>
int main() {
int a, b, c;
int *p1 = &a, *p2 = &b, *p3 = &c;
printf("请输入三个整数:\n");
scanf("%d %d %d", p1, p2, p3);
int min = *p1;
if (*p2 < min) {
min = *p2;
}
if (*p3 < min) {
min = *p3;
}
printf("最小值是:%d\n", min);
return 0;
}
```
首先,定义三个整型变量 a、b、c 和三个指向整型变量的指针 p1、p2、p3。然后,使用 scanf 函数从键盘输入三个整数并分别存储到变量 a、b、c 中。
接着,定义一个变量 min 并将其初始值设为指针 p1 指向的值。然后,通过比较指针 p2、p3 指向的值和变量 min 的值来找到最小值。
最后,使用 printf 函数输出最小值。
希望这能帮到你。
阅读全文