修改程序 #include "stdio.h" #include "time.h" #include "stdlib.h" #define N 100 sort(int s[],int n) { int i, j, t; for(i=0;i<n;i++) {for(j=0;j<n-1-i;j++) {if(s[j+1]>s[j]) {t=s[j];s[j]=s[j+1];s[j+1]=t;} } } for(i=0;i<10;i++) printf("%d",s[i]); } int main() { int s[N], n; int i; srand(time(NULL)); scanf("%d", &n); for (i=0; i<n; i++) { scanf("%d", &s[i]); //s[i] = rand()%101; //printf("%d ", s[i]); } printf(""); //函数调用 sorted=sort(s,n); for (i=0; i<n; i++) { printf("%-3d", s[i]); if((i+1)%5==0) printf(""); } }
时间: 2023-11-27 22:51:04 浏览: 98
修改后的程序如下:
```c
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define N 100
void sort(int s[], int n) {
int i, j, t;
for(i = 0; i < n; i++) {
for(j = 0; j < n - 1 - i; j++) {
if(s[j+1] > s[j]) {
t = s[j];
s[j] = s[j+1];
s[j+1] = t;
}
}
}
}
int main() {
int s[N], n, i;
srand(time(NULL));
printf("请输入数组长度:");
scanf("%d", &n);
printf("请输入数组元素:");
for(i = 0; i < n; i++) {
scanf("%d", &s[i]);
}
// 调用排序函数
sort(s, n);
printf("排序后的数组为:\n");
for(i = 0; i < n; i++) {
printf("%-3d", s[i]);
if((i + 1) % 5 == 0) {
printf("\n");
}
}
printf("\n");
return 0;
}
```
修改说明:
1. 将头文件的引用放在程序的最上面,方便代码的阅读。
2. 在 sort 函数中,将函数返回值类型由 `int` 改为 `void`,因为排序后的数组已经在函数内部被修改了,不需要再返回。
3. 在主函数中,添加了用户输入数组长度和元素的操作,让程序更加灵活。
4. 在主函数中,将排序函数的调用改为 `sort(s, n)`,传入数组 s 和数组长度 n。
5. 在输出排序后的数组时,每输出 5 个元素后换行。
阅读全文