在C语言中,可以使用动态数组来赋值并排序输出。下面是一个示例代码:
#include <stdio.h>
#include <stdlib.h>
int compare(const void *a, const void *b) {
return (*(int*)a - *(int*)b);
}
int main() {
int n; // 数组长度
int *arr; // 动态数组指针
// 输入数组长度
printf("请输入数组长度:");
scanf("%d", &n);
// 为动态数组分配内存空间
arr = (int*)malloc(n * sizeof(int));
// 输入数组元素
printf("请输入数组元素:");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 排序数组
qsort(arr, n, sizeof(int), compare);
// 输出排序后的数组
printf("排序后的数组:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 释放内存空间
free(arr);
return 0;
}
该代码首先通过malloc
函数为动态数组arr
分配了n
个int
类型的内存空间。然后使用循环输入数组元素。接下来,使用qsort
函数对数组进行排序,compare
函数用于比较两个元素的大小。最后,使用循环输出排序后的数组元素。最后,使用free
函数释放动态数组所占的内存空间。