c语音编程,输入1个正整数n(1<n<=10),再输入n个整数,按绝对值从小到大排序后输出。
时间: 2024-12-28 14:40:58 浏览: 38
C语言编程中实现这个功能通常会用到数组和循环结构。首先,你需要从用户那里获取输入的整数n和n个整数,然后创建一个大小为n的整数数组。接下来,你可以使用冒泡排序算法对数组进行降序排列,因为题目要求的是按绝对值从小到大排序,所以在冒泡过程中只需比较和交换非负的元素即可。
以下是简单的C语言代码示例:
#include <stdio.h>
void bubble_sort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (arr[j] >= 0 && arr[j + 1] > 0 && arr[j] > arr[j + 1]) { // 只比较非负数
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int n;
printf("请输入一个正整数n(1<n<=10): ");
scanf("%d", &n);
if (n < 2 || n > 10) {
printf("错误:n的值应该在1到10之间。\n");
return 1;
}
int arr[n];
for (int i = 0; i < n; i++) {
printf("请输入第%d个整数: ", i + 1);
scanf("%d", &arr[i]);
}
bubble_sort(arr, n);
printf("按照绝对值从小到大的顺序排序结果为:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
相关推荐



















