C语言实验题 输入输入数据有多组,第一行是测试数据的组数T,接下的T行中,每行表示一组测试数据,每组测试数据的第一个数字
1个回答

冒泡法排序:

#include

using namespace std;

int main()

{

int T,N;

int num[1001];

scanf("%d",&T);

while(T--)

{

scanf("%d",&N);

int i,j;

for(i = 0; i < N; i++)

{

scanf("%d",&num[i]);

}

for(i = 0; i < N-1; i++)

{

for(j = 0; j < N - 1 - i; j++)

{

if(num[j] > num[j+1])

{

int temp = num[j];

num[j] = num[j+1];

num[j+1] = temp;

}

}

}

printf("%d",num[0]);

for(i = 1; i < N; i++)

{

printf(" %d",num[i]);

}

printf("n");

}

return 0;

}

使用sort函数:

#include

#include

using namespace std;

int main()

{

int T,N;

int num[1001];

scanf("%d",&T);

while(T--)

{

scanf("%d",&N);

int i;

for(i = 0; i < N; i++)

{

scanf("%d",&num[i]);

}

sort(num,num+N);

/*

sort函数包含在algorithm库函数中,

可对数组进行递增排序

*/

printf("%d",num[0]);

for(i = 1; i < N; i++)

{

printf(" %d",num[i]);

}

printf("n");

}

return 0;

}