XYNUOJ 1181移动数据

来源:互联网 发布:电视直播源码论坛 编辑:程序博客网 时间:2024/05/16 00:29

1118: 习题8-4 移动数据

时间限制: 1 Sec  内存限制: 12 MB
提交: 46  解决: 27
[提交][状态][讨论版]

题目描述

输入n个整数(不超过10),使前面各数顺序后移m个位置,最后m个数变成最前面的m个数(m<n),写一个函数实现上述功能。

在main函数中调用该函数,最后分行输出移动后的n个数,每个数占一行。

输入输出都在main函数中进行。

n和m以及n个数都需要从键盘上进行输入。

输入

输入分三行

第一行输入一个数字(假设该数字以n表示,不超过10),表示要输入的数据个数

第二行输入以空格分隔的n个数

第三行输入后移的位置(假设该数字以m表示,m<n)

输出

分行输出移动后的数据,每个数字单独占一行。

样例输入

101 2 3 4 5 6 7 8 9 03

样例输出

8901234567

提示

C语言第四版教学实验-第八章 指针


调用函数,这都是基础的,就不多解释了

#include<stdio.h> int main() {  void move(int[20],int,int); int a[20],n,m,i; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); }   scanf("%d",&m); move(a,n,m); for(i=0;i<n;i++) printf("%d\n",a[i]); return 0;}void move(int array[20],int n,int m){int *p,array_end;array_end=*(array+n-1);for(p=array+n-1;p>array;p--)*p=*(p-1);*array=array_end;m--;if(m>0)move(array,n,m);}


原创粉丝点击