c语言,从键盘输入三个数,通过指针操作的方式,输出最小数
时间: 2024-03-02 19:48:17 浏览: 39
好的,可以通过以下代码实现:
```c
#include <stdio.h>
void find_min(int *p1, int *p2, int *p3, int *min) {
*min = *p1;
if (*p2 < *min) {
*min = *p2;
}
if (*p3 < *min) {
*min = *p3;
}
}
int main() {
int a, b, c, min;
printf("请输入三个数:\n");
scanf("%d%d%d", &a, &b, &c);
find_min(&a, &b, &c, &min);
printf("最小数为:%d\n", min);
return 0;
}
```
在这个代码中,我们定义了一个 `find_min` 函数,它接收三个指向整数的指针和一个指向整数的指针 `min`,并将最小值存储在 `min` 指向的变量中。在 `main` 函数中,我们使用 `scanf` 从键盘输入三个数,并将它们的地址传递给 `find_min` 函数。最后,我们输出最小数的值。
相关问题
用指针访问方式从键盘输入三个整数再把最小值输出c语言
可以使用指针变量来实现从键盘输入三个整数,并找到其中的最小值。代码如下:
```c
#include <stdio.h>
int main() {
int a, b, c, *p;
printf("请输入三个整数:\n");
scanf("%d %d %d", &a, &b, &c);
p = &a;
if (*p > b) {
p = &b;
}
if (*p > c) {
p = &c;
}
printf("最小值为:%d\n", *p);
return 0;
}
```
首先定义三个整型变量 `a`、`b`、`c`,以及一个指向整型变量的指针变量 `p`。然后从键盘输入三个整数,并将指针 `p` 指向变量 `a`。接着通过两次比较,找到其中的最小值,即指针 `p` 所指向的变量。最后输出最小值即可。
C语言从键盘输入20个数字,求其最大数和最小数并降序输出
```c
#include <stdio.h>
int main() {
int arr[20];
int max, min, temp;
// 输入20个数
printf("请输入20个数:\n");
for (int i = 0; i < 20; i++) {
scanf("%d", &arr[i]);
}
// 求最大数和最小数
max = min = arr[0];
for (int i = 1; i < 20; i++) {
if (arr[i] > max) max = arr[i];
if (arr[i] < min) min = arr[i];
}
// 输出最大数和最小数
printf("最大数:%d\n", max);
printf("最小数:%d\n", min);
// 冒泡排序降序输出
for (int i = 0; i < 19; i++) {
for (int j = 0; j < 19 - i; j++) {
if (arr[j] < arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
printf("降序输出:");
for (int i = 0; i < 20; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```