3. 设计一个子函数void Sort(int x,int y,int z)对x,y,z由小到大排序并打印,在主函数中调用该函数测试之。 然后对该函数附带默认形参值,并测试之。 扩展:设计一个子函数对n个数进行排序?
时间: 2023-04-02 16:05:04 浏览: 124
好的,我可以回答这个问题。以下是代码实现:
void Sort(int x, int y, int z) {
int temp;
if (x > y) {
temp = x;
x = y;
y = temp;
}
if (x > z) {
temp = x;
x = z;
z = temp;
}
if (y > z) {
temp = y;
y = z;
z = temp;
}
printf("%d %d %d\n", x, y, z);
}
int main() {
Sort(3, 2, 1); // 测试排序函数
Sort(3, 1); // 测试带默认形参值的排序函数
int arr[] = {5, 3, 1, 4, 2}; // 测试对n个数进行排序的函数
int n = sizeof(arr) / sizeof(arr[]);
for (int i = ; i < n; i++) {
for (int j = i + 1; j < n; j++) {
if (arr[i] > arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
for (int i = ; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return ;
}
对于对n个数进行排序的函数,可以使用冒泡排序等算法实现。
阅读全文