1450 - C语言-数字调序

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

有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 

C语言解答

int main(int argc, char* argv[])
{
	int n,m,num[100],i;
	while(~scanf("%d",&n))
	{
	   for(i=0;i<n;i++)
		   scanf("%d",&num[i]);
	   scanf("%d",&m);
	   for(i=n-m;i<n;i++)
		   printf("%d ",num[i]);
	   for(i=0;i<n-m;i++)
           printf("%d ",num[i]);  
	}
	return 0;
}

C++解答

#include <iostream>
using namespace std;
int main ()
{
    int n,m;
    int num[500];
    cin>>n;
    for (int i = 0;i < n; i++)
        cin>>num[i];
    cin>>m;
    if (n == m)
    {
        for (int i = 0;i < n; i++)
            cout<<num[i]<<" ";
        cout<<endl;
    }
    else
    {
        for (int i = n-m;i < n; i++)
            cout<<num[i]<<" ";
        for (int i = 0;i < n-m; i++)
            cout<<num[i]<<" ";
        cout<<endl;
    }
    return 0;
}