#include <stdio.h> #include <Windows.h> #include <math.h> int main() {int n; printf("输入整数个数为:"); scanf("%d",n); paixu(n); system("pause"); } int paixu(int n) { int i,j; int a[n]; for(i=0;i<n;i++) {scanf("%d",&a[i]);} for (i=0;i<n-1;i++) for (j=0;j<n-1-i;j++) if (a[j]>a[j+1]) { int temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } printf("排序后:"); for(i=0;i<n;i++) {printf("%d ",a[i]);} }有什么错误并改正
时间: 2024-03-10 07:50:47 浏览: 118
#include <stdio.h>
在主函数中,输入整数个数时应该使用取地址符"&",改为:
```
scanf("%d", &n);
```
另外,在主函数中调用paixu函数时应该加上返回值类型,改为:
```
int paixu(int n);
```
完整的代码如下:
```c
#include <stdio.h>
#include <Windows.h>
#include <math.h>
int paixu(int n);
int main() {
int n;
printf("输入整数个数为:");
scanf("%d", &n);
paixu(n);
system("pause");
}
int paixu(int n) {
int i,j;
int a[n];
for(i=0; i<n; i++) {
scanf("%d",&a[i]);
}
for (i=0; i<n-1; i++) {
for (j=0; j<n-1-i; j++) {
if (a[j]>a[j+1]) {
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
printf("排序后:");
for(i=0; i<n; i++) {
printf("%d ",a[i]);
}
return 0;
}
```
阅读全文