数组换位

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

  • 解题思路
    将数组进行在某个位置转置,则先将每一部分转置,再将整体换位
    上面的示例可以为:
    3 4 5 --> 5 4 3
    6 1 ---> 1 6
    5 4 3 1 6 --> 6 1 3 4 5(5\6互换 4\1互换)

具体代码如下:

#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");

}
运行结果
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,915评论 6 13
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 8,888评论 0 2
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,635评论 0 4
  • Uber正在测试一种名为Beacons的信号灯,可以直接粘贴在汽车的挡风玻璃上,并通过变换颜色让乘客知道哪辆车是来...
    似火年华li阅读 2,586评论 0 0
  • 荣格是心理学人士无法跨越的大师他创立的分析心理学是无数学者追寻之方向整部《荣格全集》研究完至少要花十年著述之丰 常...
    承谦阅读 9,711评论 1 1

友情链接更多精彩内容