jzxx2670C语言程序设计教程(第三版)课后习题10.4

题目描述
有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

传送门

满分代码:
#include <stdio.h>
#define N 100
void move(int a[], int n) {
	int i, temp = a[n-1];
	for(i = n-1; i >= 1; i--) {
		a[i] = a[i-1];
	}
	a[0] = temp;
}
int main(int argc, char const *argv[]) {
	int a[N], n, i, m;
	scanf("%d", &n);
	for(i = 0; i < n; i++) {
		scanf("%d", &a[i]);
	}
	scanf("%d", &m); 
	for(i = 0; i < (m%n); i++)
		move(a, n);
	for(i = 0; i < n; i++) {
		printf("%d ", a[i]);
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/lyz060510/article/details/88636628
今日推荐