c语言输入3个数a,b,c,按小到大顺序输出。要求利用指针方法实现。
时间: 2024-02-26 08:58:47 浏览: 83
可以参考下面的代码实现:
```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("请输入3个整数:");
scanf("%d%d%d", &a, &b, &c);
sort(&a, &b, &c);
printf("按小到大排序后的结果为:%d %d %d\n", a, b, c);
return 0;
}
```
程序首先使用 `scanf` 函数读取三个整数 `a`、`b` 和 `c`,然后调用 `sort` 函数对这三个数进行排序,最后使用 `printf` 函数输出排序后的结果。在 `sort` 函数中,我们使用指针参数来修改原始变量的值,实现了按小到大排序的功能。
相关问题
用c语言输入3个数a,b,c,按小到大顺序输出。要求利用指针方法实现。
好的,以下是用C语言实现的代码:
```c
#include <stdio.h>
// 交换两个整型变量的值
void swap(int *a, int *b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
// 将三个整型变量按从小到大的顺序排序
void sort(int *a, int *b, int *c)
{
if (*a > *b) {
swap(a, b);
}
if (*a > *c) {
swap(a, c);
}
if (*b > *c) {
swap(b, c);
}
}
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;
}
```
这个程序中,我们定义了一个`swap`函数和一个`sort`函数,分别用于交换两个整型变量的值和将三个整型变量按从小到大的顺序排序。在主函数中,我们先读入三个数,然后调用`sort`函数进行排序。最后输出排序后的结果。
c语言输入3个数a,b,c,按小到大顺序输出。要求利用指针方法实现。6+
好的,可以用如下代码实现:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int tmp = *a;
*a = *b;
*b = tmp;
}
void sort(int *a, int *b, int *c) {
if (*a > *b) {
swap(a, b);
}
if (*a > *c) {
swap(a, c);
}
if (*b > *c) {
swap(b, c);
}
}
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;
}
```
首先定义一个 `swap` 函数用于交换两个数的值,然后定义一个 `sort` 函数用于将三个数按小到大顺序排序。在 `main` 函数中,输入三个数,然后调用 `sort` 函数进行排序,并输出排序后的结果。需要注意的是,这里的参数都是指针类型,需要在调用函数的时候取地址传参。
阅读全文