用c函数和指针编写程序,输入3个整数,从小到大排序后输出。
时间: 2023-06-05 18:06:24 浏览: 145
好的,这是一个编程问题,我可以回答。以下是使用 C 语言和指针编写的程序,可以将输入的三个整数从小到大排序后输出:
```c
#include <stdio.h>
void sort(int *a, int *b, int *c) {
if (*a > *b) {
int tmp = *a;
*a = *b;
*b = tmp;
}
if (*b > *c) {
int tmp = *b;
*b = *c;
*c = tmp;
}
if (*a > *b) {
int 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 函数中使用的指针可以改变原始变量的值,因此在调用 sort 函数时要使用变量的地址(&a, &b, &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\n", a, b, c);
return 0;
}
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;
}
}
```
这个程序中,我们定义了一个 `sort` 函数,它接受三个指向整数的指针,用来对三个整数进行排序。在 `main` 函数中,首先读入三个整数,然后调用 `sort` 函数进行排序,最后输出排序后的结果。
C语言编写程序,利用指针数组对键盘输入的5个整数进行从小到大排序。
在C语言中,你可以通过指针数组和循环结构来实现这个功能。下面是一个简单的示例:
```c
#include <stdio.h> // 包含标准输入输出库
void sort(int *arr, int size) { // 定义一个函数,接收一个整型指针和数组大小
for (int i = 0; i < size - 1; i++) { // 遍历整个数组
for (int j = 0; j < size - i - 1; j++) { // 内层循环用于比较和交换元素
if (*(arr + j) > *(arr + j + 1)) { // 如果当前元素大于下一个元素
int temp = *(arr + j); // 临时存储较大值
*(arr + j) = *(arr + j + 1); // 将较小值移到当前位置
*(arr + j + 1) = temp; // 将较大值放回原位
}
}
}
}
int main() {
int numbers[5]; // 创建一个可以存放5个整数的数组
printf("请输入5个整数:\n");
// 使用循环获取用户输入,并存储在数组中
for (int i = 0; i < 5; i++) {
scanf("%d", &numbers[i]);
}
// 对输入的整数进行排序
sort(numbers, sizeof(numbers) / sizeof(numbers[0]));
printf("排序后的结果为:");
for (int i = 0; i < 5; i++) {
printf("%d ", numbers[i]);
}
printf("\n");
return 0;
}
```
在这个例子中,我们首先从用户那里获取五个整数,然后使用`sort`函数,该函数接受一个指向数组首元素的指针和数组长度来进行冒泡排序。最后,我们打印出排序后的结果。
阅读全文