用c语言实习第一行输入一个数n,第二行输入n个数,然后安升序输出排序的结果
时间: 2024-09-10 13:18:21 浏览: 171
在C语言中,你可以使用数组和循环结构(如`for`或`while`)来实现这个功能。下面是一个简单的示例,展示了如何完成这个任务:
```c
#include <stdio.h>
int main() {
int n;
printf("请输入一个整数n: ");
scanf("%d", &n); // 第一行输入
// 创建一个动态大小的整型数组
int* numbers = (int*)malloc(n * sizeof(int));
if (!numbers) { // 检查内存分配是否成功
printf("内存分配失败!");
return 1;
}
printf("请输入%d个数字: ", n);
for (int i = 0; i < n; i++) {
scanf("%d", &numbers[i]); // 第二行输入n个数
}
// 对数组进行升序排序
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (numbers[j] > numbers[j + 1]) {
int temp = numbers[j];
numbers[j] = numbers[j + 1];
numbers[j + 1] = temp; // 交换元素位置
}
}
}
// 输出排序结果
printf("按升序排列后的结果: ");
for (int i = 0; i < n; i++) {
printf("%d ", numbers[i]);
}
printf("\n");
// 释放内存
free(numbers);
return 0;
}
阅读全文