问题描述
从键盘接收两个整数m和n,分别表示一维整型数组的元素个数,和要向移动的位数。已知0
在用户输入m和n后,第二行输入相应个数的数组元素。
程序要实现的功能是,让数组元素往右移动n位。
例如,数组的5个元素是:1,2,3,4,5。
往右移动1位后:5,1,2,3,4
往右移动2位后:4,5,1,2,3
输入格式:
第一行输入两个整数,第二行输入数组元素。
输出格式:
移动后,数组的每一个元素,注意每个数组元素后有且仅有一个空格。
输入样例:
第一行的数据5和2,表示数组容量为5,让数组元素往右移动2个位置。
第二行是数组的每一个元素的值。
5 2 1 2 3 4 5
输出样例:
输出移动后的数组元素值,注意每个元素后有且仅有一个空格。
4 5 1 2 3
思路分析
题目仅仅要求按顺序输出,所以并不需要将数组赋值到另外的数组,只需要 *** 作下标即可
代码实现
#includeint main(){ int m,n,i,temp; scanf("%d%d",&m,&n); int a[m]; for(i=0;i m) n-=m; temp=(m-n+i)%m; printf("%d ",a[temp]); } return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)