题目:
把如下两个无序数组a和b从小到大排序后,在按照从小到大的顺序一次存放到新的数组中。 int a[5]={9,78,33,12,23}; int b[8]={1,34,63,10,5,94,39,27}; **输出格式要求:"%4d\n","%4d" 程序运行示例为: 9 12 23 33 78 1 5 10 27 34 39 63 94 1 5 9 10 12 23 27 33 34 39 63 78 94
代码如下:
#include <stdio.h>
void sort(int *p,int n);
int main()
{
int c[13],a[5]={9,78,33,12,23},b[8]={1,34,63,10,5,94,39,27};
sort(a,5);
sort(b,8);
for(int i=0;i<5;i++)
{
printf("%4d\n",a[i]);
}
for(int j=0;j<8;j++)
{
printf("%4d\n",b[j]);
}
for(int i=0;i<13;i++)
{
if(i<5)
c[i]=a[i];
else
c[i]=b[i-5];
}
sort(c,13);
for(int i=0;i<13;i++)
{
printf("%4d",c[i]);
}
return 0;
}
void sort(int *p,int n)
{
int temp;
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-i-1;j++)
{
if(*(p+j)>*(p+j+1))
{
temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
}
}
快上机考试了,考排序,啥都不会,赶紧刷几道题。希望能及格。