C语言:1、编写程序:从键盘输入三个整数,通过调用函数按从大到小输出,要求用指针实现;
时间: 2024-03-23 18:38:35 浏览: 14
可以参考以下代码实现:
```c
#include <stdio.h>
void sort(int *a, int *b, int *c);
int main()
{
int a, b, c;
printf("请输入三个整数:\n");
scanf("%d %d %d", &a, &b, &c);
sort(&a, &b, &c);
printf("从大到小排序后的结果为:%d %d %d\n", a, b, c);
return 0;
}
void sort(int *a, int *b, int *c)
{
int temp;
if (*a < *b) {
temp = *a;
*a = *b;
*b = temp;
}
if (*a < *c) {
temp = *a;
*a = *c;
*c = temp;
}
if (*b < *c) {
temp = *b;
*b = *c;
*c = temp;
}
}
```
这里我们定义了一个 sort 函数,通过指针实现了按从大到小排序的功能。在主函数中,我们先从键盘输入三个整数,然后调用 sort 函数进行排序,最后输出排序后的结果。
相关问题
用C语言指针针写一个从键盘随机输入三个整数按由小到大的顺序输出
好的,以下是用C语言指针实现的代码:
```c
#include <stdio.h>
void sort(int *a, int *b, int *c)
{
if (*a > *b) {
int temp = *a;
*a = *b;
*b = temp;
}
if (*a > *c) {
int temp = *a;
*a = *c;
*c = temp;
}
if (*b > *c) {
int temp = *b;
*b = *c;
*c = temp;
}
}
int main()
{
int a, b, c;
printf("请输入三个整数:");
scanf("%d %d %d", &a, &b, &c);
sort(&a, &b, &c);
printf("从小到大排序后的结果是:%d %d %d\n", a, b, c);
return 0;
}
```
这段代码首先定义了一个 `sort` 函数,它接受三个整数指针作为参数,并将它们按由小到大排序。然后在主函数中,我们读取三个整数,调用 `sort` 函数进行排序,最后输出排序后的结果。
需要注意的是,在调用 `sort` 函数时,我们需要传递三个整数的地址,即 `&a`, `&b`, `&c`,这样 `sort` 函数才能修改它们的值。在函数内部,我们使用 `*a`、`*b`、`*c` 来访问这三个整数的值。
你可以将这段代码复制到你的编辑器中,并编译运行它。它会读取三个整数,并按由小到大的顺序输出它们。
输入三个整数,按大到小的顺序输出,要求按指针实现的C语言程序代码
以下是按指针实现的C语言程序代码:
```c
#include <stdio.h>
void sort(int *a, int *b, int *c);
int main() {
int a, b, c;
printf("请输入三个整数:");
scanf("%d%d%d", &a, &b, &c);
sort(&a, &b, &c);
printf("按大到小顺序输出为:%d %d %d", a, b, c);
return 0;
}
void sort(int *a, int *b, int *c) {
int tmp;
if (*a < *b) {
tmp = *a;
*a = *b;
*b = tmp;
}
if (*a < *c) {
tmp = *a;
*a = *c;
*c = tmp;
}
if (*b < *c) {
tmp = *b;
*b = *c;
*c = tmp;
}
}
```
以上程序中,sort函数用来实现三个整数的排序,由于需要修改原始数据,所以采用了指针传递参数的方式。在主函数中,我们通过调用sort函数并传入三个整数的指针,来实现按大到小顺序输出的功能。