1.通过完成函数完成以下程序代码,输入n,再输入n个整数到数组,对数组升序排序,依次输出数组内容,输入输出示意如下: 10 3 7 1 2 12 23 2232 2 21 -1 -1 1 2 2 3 7 12 21 23 2232 【注意】:以下程序代码只允许添加不允许修改。 #include <stdio.h> #include <malloc.h> int *Read(int* n){ } void Write(int a[], int n){ } void Sort(int a[], int n){ } int main(){ int n,*a = NULL; a = Read(&n); Sort(a, n); Write(a, n); free(a); return 0; }
时间: 2023-12-06 21:42:54 浏览: 47
#include <stdio.h>
#include <stdlib.h>
int *Read(int* n){
scanf("%d", n); // 读取数组元素个数
int *a = (int *)malloc(sizeof(int) * (*n)); // 动态分配数组空间
for(int i = 0; i < *n; i++){
scanf("%d", &a[i]); // 读取数组元素
}
return a; // 返回数组首地址
}
void Write(int a[], int n){
for(int i = 0; i < n; i++){
printf("%d ", a[i]); // 依次输出数组元素
}
printf("\n");
}
void Sort(int a[], int n){
for(int i = 0; i < n-1; i++){
for(int j = i+1; j < n; j++){
if(a[i] > a[j]){ // 如果前一个数大于后一个数,交换它们
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
int main(){
int n,*a = NULL;
a = Read(&n);
Sort(a, n);
Write(a, n);
free(a);
return 0;
}
阅读全文