解题思路:
不改变原数组,只是换序输出。
可列出公式:
arr[i] = arr[i-m], (i>=m && i < n)
arr[i] = arr[n+i-m], (i>=0 && i<m)
注意事项:
下标运算可能产生负值,可以通过取模运算回绕。
参考代码:
#include<stdio.h>
int main()
{
int arr[1000];
int m,n;
scanf("%d", &n);
for (int i=0; i<n; i++)
scanf("%d", &arr[i]);
scanf("%d", &m);
for (int i=0; i<n; i++) {
printf("%d ", arr[(i-m+n)%n]);
}
return 0;
}
0.0分
0 人评分
回文数(一) (C语言代码)浏览:767 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:761 |
关于float,double变量的几点说明浏览:1826 |
出圈】指针malloc版浏览:355 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:644 |
整除的尾数 (C语言代码)浏览:815 |
拆分位数 (C语言代码)浏览:444 |
简单的a+b (C语言代码)浏览:464 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:1332 |
C语言程序设计教程(第三版)课后习题6.11 (C++代码)浏览:522 |