输出的不正确出现了没输入的数字
/* Note:Your choice is C IDE */
#include "stdio.h"
//输入
void input(int a[10]){
int i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
}
//冒泡排序
void choose(int a[10]){
int i,j,temp;
for(i=1;i<10;i++)
{
for(j=9;j>=i;j--)
{
if(a[j]<a[j-1]){
temp=a[j];
a[j]=a[j-1];
a[j-1]=temp;
}
}
}
}
//输出
void output(int a[10]){
int i;
for(i=0;i<10;i++)
printf("%d\t",a[i]);
}
void main()
{
int a[10];
//输入
input(a);
//冒泡排序
choose(a);
//输出
output(a);
}
修改如下,供参考:
#include<stdio.h>
int main()
{
void row(int b[],int n);
int a[10];
for(int i=0;i<10;i++)scanf("%d",&a[i]);
printf("\n");
row(a,10);
for(int g=0;g<10;g++)
printf("%d ",a[g]);
return 0;
}
void row(int b[],int n)
{
int j,k,x;
for(j=0;j<n-1;j++)
for(k=0;k<n-j-1;k++)
if(b[k] > b[k+1])
{x=b[k];b[k]=b[k+1];b[k+1]=x;}
}