题目描述
有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,见图。写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数。
输入
输入数据的个数n n个整数 移动的位置m
输出
移动后的n个数
样例输入
10 1 2 3 4 5 6 7 8 9 10 2
样例输出
9 10 1 2 3 4 5 6 7 8
1 #include <stdio.h> 2 #define N 100 3 4 // 移动一次 5 move(int a[], int n) 6 { 7 int i, temp = a[n-1]; 8 for(i = n-1; i >= 1; i--) 9 { 10 a[i] = a[i-1]; 11 } 12 a[0] = temp; 13 } 14 15 16 int main(int argc, char const *argv[]) 17 { 18 int a[N], n, i, m; 19 scanf("%d", &n); 20 for(i = 0; i < n; i++) 21 { 22 scanf("%d", &a[i]); 23 } 24 scanf("%d", &m); //移动m个位置 25 26 for(i = 0; i < (m%n); i++) 27 move(a, n); 28 29 for(i = 0; i < n; i++) 30 { 31 printf("%d ", a[i]); 32 } 33 return 0; 34 }
时间: 2024-10-11 23:12:03