4. 实现三个数排序,主函数输入输出。 Void Exchange_2(int *p,int *q) {} Void sort_3( ) {} Main()
时间: 2023-05-30 22:06:00 浏览: 56
void Exchange_2(int *p, int *q) {
int temp = *p;
*p = *q;
*q = temp;
}
void sort_3(int *a, int *b, int *c) {
if (*a > *b)
Exchange_2(a, b);
if (*a > *c)
Exchange_2(a, c);
if (*b > *c)
Exchange_2(b, c);
}
int main() {
int a, b, c;
printf("请输入三个数:\n");
scanf("%d%d%d", &a, &b, &c);
sort_3(&a, &b, &c);
printf("排序后的结果为:%d %d %d\n", a, b, c);
return 0;
}
相关问题
C语言实现三个数排序,主函数输入输出。 Void Exchange_2(int *p,int *q) {} Void sort_3( ) {} Main()
实现代码如下:
```c
#include <stdio.h>
void Exchange_2(int *p, int *q) {
int temp = *p;
*p = *q;
*q = temp;
}
void sort_3(int *a, int *b, int *c) {
if (*a > *b) {
Exchange_2(a, b);
}
if (*a > *c) {
Exchange_2(a, c);
}
if (*b > *c) {
Exchange_2(b, c);
}
}
int main() {
int a, b, c;
printf("请输入三个数,以空格分隔:");
scanf("%d %d %d", &a, &b, &c);
sort_3(&a, &b, &c);
printf("排序后的结果为:%d %d %d", a, b, c);
return 0;
}
```
运行结果:
```
请输入三个数,以空格分隔:3 1 2
排序后的结果为:1 2 3
```
C++ 输入一个3×3的二维整数矩阵,分别采用冒泡法、交换法编程实现对这9个数字从小到大进行排序,并输出。
以下是使用冒泡排序和交换排序两种方法实现对一个3x3整数矩阵排序的C语言代码:
```c
#include <stdio.h>
void bubble_sort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
void exchange_sort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (arr[j] < arr[i]) {
temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
}
void print_matrix(int matrix[][3]) {
int i, j;
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
int main() {
int matrix[3][3];
int arr[9];
int i, j, k = 0;
printf("请输入一个3x3的整数矩阵:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
scanf("%d", &matrix[i][j]);
arr[k++] = matrix[i][j];
}
}
printf("排序前的矩阵:\n");
print_matrix(matrix);
bubble_sort(arr, 9);
printf("冒泡排序后的矩阵:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
matrix[i][j] = arr[k++];
printf("%d ", matrix[i][j]);
}
printf("\n");
}
k = 0;
exchange_sort(arr, 9);
printf("交换排序后的矩阵:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
matrix[i][j] = arr[k++];
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
以上代码中,我们使用 `bubble_sort` 函数和 `exchange_sort` 函数分别实现了冒泡排序和交换排序,然后在主函数中,我们先读取用户输入的3x3整数矩阵,然后将矩阵中的所有元素放入一个一维数组中进行排序,最后将排好序的元素重新放回矩阵中并打印输出。