用c语言输入3个数a,b,c,按小到大顺序输出。要求利用指针方法实现。
时间: 2024-03-16 21:41:37 浏览: 87
好的,以下是用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个整数,利用指针和函数相关知识将数字按由小到大顺序输出 输入说明: 3个整数 输入说明: 由小到大顺序输出 输入示例: 1 2 3 输出示例: 1 2 3
好的,可以参考下面的代码实现:
```c
#include <stdio.h>
void sort(int *a, int *b, int *c) {
int tmp;
if (*a > *b) {
tmp = *a;
*a = *b;
*b = tmp;
}
if (*b > *c) {
tmp = *b;
*b = *c;
*c = tmp;
}
if (*a > *b) {
tmp = *a;
*a = *b;
*b = tmp;
}
}
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;
}
```
首先定义了一个 `sort` 函数,它接受三个 `int` 型指针作为参数,用来指向输入的三个整数。函数中使用冒泡排序的思想,将三个整数按从小到大的顺序排列,最后通过指针修改原来的三个整数的值。
在 `main` 函数中,通过 `scanf` 函数输入三个整数,然后调用 `sort` 函数进行排序,最后输出排序后的结果。
功能:利用指针方法实现:输入3个整教b.c,按大小顺序输出。注意:由于NONOO这个函数是改卷人用的,与考生无须考虑。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\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函数,它接受三个指向整数的指针作为参数,然后通过比较大小交换它们的值,使得最终的输出按照从小到大的顺序排列。在main函数中,使用scanf从标准输入读取三个整数,然后将它们的地址传递给sort函数进行排序,最后输出排好序的结果。
阅读全文