编写一个c程序,对输入的3个整数由大到小输出,用指针类型的数据作函数参数
时间: 2024-03-25 08:41:17 浏览: 12
好的,以下是一个使用指针类型数据作为函数参数的 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", c, b, a);
return 0;
}
```
这个程序与前面的程序类似,不过将排序部分封装成了一个名为 `sort` 的函数,并且将三个整数的地址作为参数传递给了 `sort` 函数。在 `sort` 函数中,使用指针解引用操作来访问这三个整数,并进行比较和交换。最后在 `main` 函数中,调用 `sort` 函数进行排序,并输出结果。
相关问题
编写一个程序,将从键盘输入的三个整数按大小顺序输出,使用函数处理,并且使用指针类型的数据作为函数参数。使用c语言
以下是使用指针作为函数参数实现的代码:
```c
#include <stdio.h>
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;
}
}
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()` 函数中,使用指针参数来接收需要排序的三个整数,通过比较和交换指针所指向的变量的值,实现了对三个整数的排序。在 `main()` 函数中,通过使用 `&` 取地址符将三个整数的地址传递给了 `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` 函数,最后输出排序后的结果。