解题思路:
思路1:将比K1大的数字用一个变量保存,然后再这个数之前的数全部往后移动一位,最后把变量中的数放到数组最前面。(无需管比K1大的数字)
思路2:重新定义两个数组,一个用来放比K1大的数,一个用来放比K1小的数。注意:小的数组需要倒序输出。(只提供思路,无代码)
int main()
{
int n,number[9];
scanf("%d",&n);
while(n--)
{
int i,k=0,j,temp=0;
for(i=0;i<9;i++)
scanf("%d",&number[i]);
for(i=0;i<9;i++)
{
if(number[k]>number[i])
{
temp=number[i]; //先保存找到比K1小的数字
for(j=i;j>0;j--) //该数字前的数字全部往后移动一位
number[j]=number[j-1];
number[0]=temp; //把找到的数字放到数组的最前面
k++; //及时更新K1的下标
}
}
for(i=0;i<9;i++)
printf("%d ",number[i]);
printf("\n");
}
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:609 |
C语言程序设计教程(第三版)课后习题8.4 (Java代码)浏览:788 |
Hello, world! (C++代码)浏览:1778 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:582 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:903 |
蚂蚁感冒 (C语言代码)浏览:816 |
图形输出 (C语言代码)浏览:1019 |
链表数据求和操作 (C语言代码)浏览:1035 |
找出最长的字符串来 (C语言代码)浏览:1840 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:487 |