请叫我小胡


私信TA

用户名:Walkerone2019

访问量:6471

签 名:

读万卷书,行万里路。

等  级
排  名 1525
经  验 2809
参赛次数 2
文章发表 14
年  龄 24
在职情况 学生
学  校 天津工业大学
专  业

  自我简介:

逐梦路上的前行者......

解题思路:因为不支持变长数组,所以使用了动态数组,最简单的方法就是新建两个一样的动态数组,一个用来存放原始数据,一个用来存放结果数据。根据n和m来改变原始数组。

注意事项:n和m的临界区域

参考代码:

#include<stdio.h>

#include<stdlib.h>

int main()

{

     int n, m;

     int *pt, *pr;

     scanf("%d", &n);

     pt = (int *)malloc(n*sizeof(int));

     pr = (int *)malloc(n*sizeof(int));

     for (int i = 0; i<n; i++)

          scanf("%d ", &pt[i]);

     scanf("%d", &m);

     for (int j = m, i = 0; j<n; j++, i++)

          pr[j] = pt[i];

     for (int j = 0, i = n - m; i < n; i++, j++)

          pr[j] = pt[i];

     for (int i = 0; i<n; i++)

          printf("%d ", pr[i]);

     free(pt);

     free(pr);

     return 0;

}


 

0.0分

0 人评分

  评论区

  • «
  • »