编写程序,在main函数中定义3个整数a、b、c及整数指针,从键盘输入整数的值;自定义sort函数,在sort函数中通过指针改变a、b、c的值使其按升序排列;在main中依次输出3个整数。
时间: 2023-04-23 13:02:38 浏览: 122
好的,以下是程序的中文回复:
```
#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;
int *pa = &a, *pb = &b, *pc = &c;
printf("请输入三个整数:");
scanf("%d%d%d", &a, &b, &c);
sort(pa, pb, pc);
printf("升序排列后的三个整数为:%d %d %d\n", a, b, c);
return ;
}
```
在这个程序中,我们首先定义了三个整数变量a、b、c和三个整数指针pa、pb、pc。然后从键盘输入三个整数的值,将它们分别赋值给a、b、c。接着调用自定义的sort函数,将a、b、c按升序排列。最后在main函数中输出排列后的三个整数。
相关问题
用c语言编写一个自定义函数Getint()用于接收用户输入的一组整型数据,并放入一数组中;另外再定义一个函数Sortint()用于对输入的一组整数按照升序排列。在主函数main中先后调用Getint与Sortint函数,输出最后的排序结果。
好的,下面是代码:
```c
#include <stdio.h>
#define MAX_SIZE 100
void Getint(int arr[], int n);
void Sortint(int arr[], int n);
void swap(int *a, int *b);
int main(void) {
int arr[MAX_SIZE], n;
printf("请输入元素个数(不超过%d):", MAX_SIZE);
scanf("%d", &n);
Getint(arr, n);
Sortint(arr, n);
printf("排序后的结果为:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
// 从标准输入读入整数
void Getint(int arr[], int n) {
printf("请输入%d个整数:", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
}
// 冒泡排序
void Sortint(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j+1]) {
swap(&arr[j], &arr[j+1]);
}
}
}
}
// 交换两个指针所指向的值
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
使用方法:运行程序后,首先输入元素个数,然后输入相应个数的整数即可。程序会自动对输入的整数进行排序,并输出排序后的结果。
C语言使用自定义函数sort(int a,int b)完成从小到大的排序功能 函数的参数:两个指针指向待排序的两个整数,函数执行完毕,使得a≤b 输入格式:4 3 2 输出格式:2 3 4
以下是使用自定义函数sort(int a,int b)完成从小到大的排序功能的C语言代码:
```c
#include<stdio.h>
void sort(int* a, int* b);
int main()
{
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
sort(&a, &b);
sort(&b, &c);
sort(&a, &b);
printf("%d %d %d", a, b, c);
return 0;
}
void sort(int* a, int* b)
{
if (*a > *b) {
int temp = *a;
*a = *b;
*b = temp;
}
}
```
在这个程序中,我们使用了一个自定义函数sort(int* a, int* b),其中a和b是指向待排序的两个整数的指针。在sort函数里,我们比较a和b的大小,如果a大于b,就交换它们的值,这样就可以使得a≤b。在主函数中,我们先读入三个整数a、b、c,然后分别调用sort函数来对它们进行排序。最后,我们输出排序后的结果。
需要注意的是,在调用sort函数时,我们需要传入指向a和b的指针,而不是直接传入a和b的值。这是因为我们要在sort函数中修改a和b的值,而指针可以让我们直接访问和修改变量的地址。
阅读全文