C语言定义两个整型变量用于存放键盘上输入的两个整数,然后用指针变量作为函数实参,调用对两个整数进行由大到小排序的sort函数,最后输出排序后的两个整数
时间: 2023-12-19 18:05:04 浏览: 211
代码如下:
```c
#include <stdio.h>
// 由大到小排序的函数
void sort(int *a, int *b)
{
if (*a < *b) {
int temp = *a;
*a = *b;
*b = temp;
}
}
int main()
{
int num1, num2;
printf("请输入两个整数:\n");
scanf("%d %d", &num1, &num2);
// 调用排序函数
sort(&num1, &num2);
printf("排序后的两个整数为:%d %d\n", num1, num2);
return 0;
}
```
首先通过 `scanf` 函数获取用户输入的两个整数,然后将它们的地址作为实参传递给 `sort` 函数进行排序。在排序函数中,如果第一个参数小于第二个参数,则交换它们的值,从而实现由大到小的排序。最后在主函数中输出排序后的两个整数。
相关问题
C语言用变量的指针作为函数调用的实参,降序输出3个整数。
可以使用指针作为函数的实参来实现降序输出三个整数。以下是一个示例代码:
```c
#include <stdio.h>
// 函数声明
void sortDescending(int* ptr1, int* ptr2, int* ptr3);
int main() {
int num1, num2, num3;
printf("请输入三个整数: ");
scanf("%d %d %d", &num1, &num2, &num3);
// 函数调用
sortDescending(&num1, &num2, &num3);
printf("降序输出: %d %d %d\n", num1, num2, num3);
return 0;
}
// 函数定义
void sortDescending(int* ptr1, int* ptr2, int* ptr3) {
if (*ptr1 < *ptr2) {
int temp = *ptr1;
*ptr1 = *ptr2;
*ptr2 = temp;
}
if (*ptr1 < *ptr3) {
int temp = *ptr1;
*ptr1 = *ptr3;
*ptr3 = temp;
}
if (*ptr2 < *ptr3) {
int temp = *ptr2;
*ptr2 = *ptr3;
*ptr3 = temp;
}
}
```
在这个例子中,`sortDescending` 函数接受三个整数的指针作为实参,并通过比较和交换来实现降序排序。在 `main` 函数中,我们输入三个整数,并将它们的地址作为实参传递给 `sortDescending` 函数。最后,我们输出排序后的结果。
用c语言写一个程序:编写用起泡法对十个整数由小到大排序的函数,指针变量做函数的实参,在 主函数调用此函数。
好的,下面是用C语言实现使用冒泡排序算法对十个整数进行由小到大排序的函数:
```c
void bubbling_sort(int *arr, int len) {
int i, j, temp;
for (i = 0; i < len - 1; i++) {
for (j = 0; j < len - 1 - i; j++) {
if (*(arr + j) > *(arr + j + 1)) {
temp = *(arr + j);
*(arr + j) = *(arr + j + 1);
*(arr + j + 1) = temp;
}
}
}
}
int main() {
int arr[10] = {3, 9, 1, 8, 7, 5, 2, 4, 6, 0};
int len = sizeof(arr) / sizeof(arr[0]);
bubbling_sort(arr, len);
int i;
for (i = 0; i < len; i++) {
printf("%d ", *(arr + i));
}
return 0;
}
```
在这个程序中,我们定义了一个名为`bubbling_sort`的函数,它接受一个指向整数数组的指针和数组的长度。然后,我们使用冒泡排序算法对数组进行排序。最后,我们在`main`函数中声明一个大小为10的数组,并将其传递给`bubbling_sort`函数进行排序。最后,我们打印排好序的数组。
输出结果为:0 1 2 3 4 5 6 7 8 9,表示数组已经按照由小到大的顺序排好序了。
阅读全文