数组换位

2018-07-07  本文已影响0人  QinRenMin

将一个数组长度为n,从位置k开始,交换a[0:k-1]与a[k:n-1]的位置,得到新的数组。
例如,输入 5(数组长度) 3(第三个数字) 3 4 5 6 1
得到交换后的结果是:6 1 3 4 5

具体代码如下:

#include<stdio.h>
//转置数组 
void sort(int a[], int low, int high){
    int temp;
    while(low < high)
    {
        temp = a[low];
        a[low++] = a[high];
        a[high--] = temp;
    }
}
void main()
{
    printf("请输入数组长度");
    int i,k,num;
    scanf("%d",&num);
    int a[num];
    printf("请输入数据\n");
    for(i = 0; i < num; i++)
    {
        scanf("%d",&a[i]);
    }
    printf("请输入要转置K的位置\n");
    scanf("%d",&k);
    sort(a,0,k-1);
    sort(a,k,num-1);
    sort(a,0,num-1);
    for(i = 0; i < num; i++)
    {
            printf("%d ", a[i]);
    }
    printf("\n");

}
运行结果
上一篇 下一篇

猜你喜欢

热点阅读