描述
输入整型数组和排序标识,对其元素按照升序或降序进行排序
数据范围:1≤n≤1000 ,元素大小满足 0≤val≤100000
输入描述:
第一行输入数组元素个数
第二行输入待排序的数组,每个数用空格隔开
第三行输入一个整数0或1。0代表升序排序,1代表降序排序
输出描述:
输出排好序的数字
示例1
输入:
8
1 2 4 9 3 55 64 25
0
输出:
1 2 3 4 9 25 55 64
示例2
输入:
5
1 2 3 4 5
1
输出:
5 4 3 2 1
#include <stdio.h>
int main()
{
int i;
int num = 0;
int flag = 0;
int data[1000];
int temp;
int j;
scanf("%d\n",&num);//输入数组元素个数
for(i=0;i<num;i++)
{
scanf("%d",&data[i]);//输入数组
}
scanf("%d\n",&flag);//输入一个整数0或1。0代表升序排序,1代表降序排序
for(i=0;i<num-1;i++)
{
for(j=i+1;j<num;j++)
{
if(data[i] > data[j])
{
temp=data[i];
data[i]=data[j];
data[j]=temp;
}
}
}
if(flag==0)
{
for(i = 0;i<num;i++)
{
printf("%d ",data[i]);
}
}
else
{
for(i = 0;i<num;i++)
{
printf("%d ",data[num-i-1]);
}
}
return 0;
}
有bug,但不知道问题出在哪里。