用C语言对一维数组排序,并输出已排好元素的原来位置答:之后将指针数组内的地址值依次取出来与a数组首地址相减,得到的就是原来的位置。利用的原理:数组内地址是连续的!include <stdio.h>int main(){ int a[5]={3, 8, 4, 7, 6}, b[5]={8, 7, 6, 4, 3},c[5],i,j,*p[5]; for(i=0;i<5;i++) { for(j=0;j...
...将一个按升序排列的数组和一个按降序排列的数组,按升序合并后放到其...答:include<stdio.h> define M 5 define N 3 int main(){ int a[M],b[N],c[M+N];int i,j,k,m;for(i=0;i<M;i++){ scanf("%d",&a[i]);} for(j=0;j<N;j++){ scanf("%d",&b[j]);} for(i=0,j=N-1,k=0;k<M+N;k++){ if(a[i]<b[j]||j<0){ c[k]...
一个已经排好序的数组,输入一个数,要求按照原来的规则排序。C语言。答:然后sort(a,a+6)可以替代升序排列。正式程序如下:include<cstdio>#include<algorithm>using namespace std;int a[10]={1,3,5,7,9};int main(){ printf("现在的数字顺序是:%d %d %d %d %d\n",a[0],a[1],a[2],a[3],a[4]); printf("请输入一个数字:"); scanf("%d...