解题思路:
思路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 人评分
2004年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:670 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:597 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:522 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:535 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:885 |
简单的a+b (C语言代码)浏览:816 |
关于C语言变量位置的问题浏览:272 |
A+B for Input-Output Practice (C语言代码)浏览:468 |
Pascal三角 (C语言代码)浏览:651 |
数列问题 (C语言代码)浏览:1022 |