|
开课吧学习平台做闯关题,这个闯不过去了,有大神给优化一下吗,总是提醒运行超出限制时间, 在其他平台这个可以没问题。
这是题干:给予 10 个乱序输入的整数。你需要(任选一种排序方法)将它们从大到小进行排序后输出;
#include <stdio.h>
void swap(int *a,int *b)
{
int k;
k = *a;
*a = *b;
*b = k;
}
int main() {
int n = 10;
int numbers[10];
int i;
int j;
// 读入给定的数字
for (i = 0; i < n ;i++)
{
scanf("%d", &numbers[i]);
}
for(i = 0;i < n; i++)
{
for(j = 0;j < n-i;j++)
{
if(numbers[j] < numbers[j+1])
{
swap(&numbers[j],&numbers[j+1]);
}
}
}
for(i = 0;i < n;i++)
{
printf("%d",numbers[i]);
if(i != (n-1))
{
printf(" "); //最后一个整数后面不能有空格
}
}
return 0;
}
|
阿莫论坛20周年了!感谢大家的支持与爱护!!
如果天空是黑暗的,那就摸黑生存;
如果发出声音是危险的,那就保持沉默;
如果自觉无力发光,那就蜷伏于牆角。
但是,不要习惯了黑暗就为黑暗辩护;
也不要为自己的苟且而得意;
不要嘲讽那些比自己更勇敢的人。
我们可以卑微如尘土,但不可扭曲如蛆虫。
|