C语言从键盘输入一个整数 n ( n ≤10)和 n 个整费存入数组 a 中,先依次输出各个数组元素的值,然后对数组 a 的所有元素值按从小到力顺序重新排列后,再依次输出 且每行输出5个数据
时间: 2023-06-14 16:04:18 浏览: 98
C语言程序设计-编写程序。从键盘读入8个整数存入数组a中并输出这8个数据。和、最大值、最小值及平均值。正数之和、负数之和
5星 · 资源好评率100%
下面是C语言的代码实现:
```c
#include <stdio.h>
void swap(int *a, int *b) { // 定义交换函数
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int n, a[10];
printf("请输入一个小于等于10的整数n:");
scanf("%d", &n);
printf("请输入%d个整数:\n", n);
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
printf("原数组为:");
for (int i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
// 冒泡排序
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (a[j] > a[j + 1]) {
swap(&a[j], &a[j + 1]);
}
}
}
printf("排序后的数组为:\n");
for (int i = 0; i < n; i++) {
printf("%d ", a[i]);
if ((i + 1) % 5 == 0) { // 每行输出5个数据
printf("\n");
}
}
if (n % 5 != 0) { // 最后一行不足5个数据时补充换行符
printf("\n");
}
return 0;
}
```
运行结果如下(输入为:5 3 1 4 2 5):
```
请输入一个小于等于10的整数n:5
请输入5个整数:
3 1 4 2 5
原数组为:3 1 4 2 5
排序后的数组为:
1 2 3 4 5
```
阅读全文