解题思路:因为不支持变长数组,所以使用了动态数组,最简单的方法就是新建两个一样的动态数组,一个用来存放原始数据,一个用来存放结果数据。根据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 人评分
字符串输入输出函数 (C++代码)(都当成字符串吧hhhhhhhh)浏览:509 |
妹子杀手的故事 (C语言代码)浏览:1297 |
关于C语言变量位置的问题浏览:294 |
1011题解浏览:819 |
K-进制数 (C语言描述,蓝桥杯)浏览:955 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:561 |
Tom数 (C语言代码)浏览:758 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:416 |
C语言训练-8除不尽的数 (C语言代码)浏览:1469 |
整数分类问题 为什么输出总是数字8啊浏览:451 |