从键盘输入三个整数,然后降序输出,要求用指针实现。
时间: 2023-04-26 09:02:12 浏览: 69
可以按照以下步骤实现:
1. 从键盘输入三个整数,可以使用scanf函数实现,例如:
```
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
```
2. 将三个整数存储到一个数组中,例如:
```
int arr[3] = {a, b, c};
```
3. 使用指针实现降序排序,可以使用冒泡排序或选择排序等算法,例如:
```
int *p = arr;
for (int i = 0; i < 2; i++) {
for (int j = i + 1; j < 3; j++) {
if (*(p + i) < *(p + j)) {
int temp = *(p + i);
*(p + i) = *(p + j);
*(p + j) = temp;
}
}
}
```
4. 输出排序后的结果,例如:
```
printf("%d %d %d", arr[0], arr[1], arr[2]);
```
相关问题
从键盘输入三个整数,然后降序输出,要求用指针实现
可以按照以下步骤实现:
1. 从键盘输入三个整数,可以使用 scanf 函数实现,例如:
```c
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
```
2. 将三个整数存储到一个数组中,例如:
```c
int arr[3] = {a, b, c};
```
3. 定义一个指向整型数组的指针,例如:
```c
int *p = arr;
```
4. 对数组进行降序排序,可以使用冒泡排序等算法,例如:
```c
for (int i = 0; i < 3; i++) {
for (int j = i + 1; j < 3; j++) {
if (*(p + i) < *(p + j)) {
int temp = *(p + i);
*(p + i) = *(p + j);
*(p + j) = temp;
}
}
}
```
5. 输出排序后的结果,例如:
```c
for (int i = 0; i < 3; i++) {
printf("%d ", *(p + i));
}
```
完整代码如下:
```c
#include <stdio.h>
int main() {
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
int arr[3] = {a, b, c};
int *p = arr;
for (int i = 0; i < 3; i++) {
for (int j = i + 1; j < 3; j++) {
if (*(p + i) < *(p + j)) {
int temp = *(p + i);
*(p + i) = *(p + j);
*(p + j) = temp;
}
}
}
for (int i = 0; i < 3; i++) {
printf("%d ", *(p + i));
}
return 0;
}
```
用指针访问方式从键盘输入三个整数再把最小值输出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` 所指向的变量。最后输出最小值即可。