编写一main函数 要求利用指针 实现从键盘输入三个数 由小到大排序
时间: 2023-08-12 22:31:11 浏览: 43
好的,下面是使用指针实现从键盘输入三个数并从小到大排序的main函数示例:
```c++
#include <iostream>
using namespace std;
void sort(int *a, int *b, int *c) {
int t;
if (*a > *b) {
t = *a;
*a = *b;
*b = t;
}
if (*a > *c) {
t = *a;
*a = *c;
*c = t;
}
if (*b > *c) {
t = *b;
*b = *c;
*c = t;
}
}
int main() {
int a, b, c;
cout << "请输入三个数:" << endl;
cin >> a >> b >> c;
sort(&a, &b, &c);
cout << "从小到大排序后的结果为:" << a << " " << b << " " << c << endl;
return 0;
}
```
在上面的代码中,sort函数用于实现三个数从小到大排序,使用指针传入三个数的地址,通过比较和交换来实现排序。在main函数中,先从键盘输入三个数,然后调用sort函数进行排序,最后输出排序后的结果。
相关问题
C语言:1、编写程序:从键盘输入三个整数,通过调用函数按从大到小输出,要求用指针实现;
可以参考以下代码实现:
```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
#include <stdio.h>
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;
}
}
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` 函数接收三个整数指针 `a`, `b`, `c`,使用冒泡排序算法将它们按照从小到大的顺序排列。在 `main` 函数中,我们使用 `scanf` 函数从键盘输入三个整数,然后将它们的指针作为参数传递给 `sort` 函数,最后输出排序后的结果。