XYNUOJ 1181移动数据
2017-08-24 16:59
211 查看
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)
输出
分行输出移动后的数据,每个数字单独占一行。样例输入
10 1 2 3 4 5 6 7 8 9 0 3
样例输出
8 9 0 1 2 3 4 5 6 7
提示
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);
}
相关文章推荐
- XYNUOJ 马的移动
- xynuoj迷宫问题
- XYNUOJ 1416: 竞赛总分
- XYNUOJ 1435 混合背包
- xynuoj 汽车加油问题
- XYNUOJ 讨厌的小数点
- XYNUOJ 第四次比赛 懒省事得小名
- XYNUOJ A*B Problem
- XYNUOJ 1275: 组合的输出
- XYNUOJ 1078 连续自然数的阶乘求和
- XYNUOJ 2042: 寻找最大数
- XYNUOJ 问题 F: 小希的迷宫
- 木棒 xynuoj 1737 && 心急的C小加 nyoj 236
- xynuoj 1284: 图的m着色问题(dfs)
- XYNUOJ Six Degrees of Separation
- XYNUOJ 问题 F: 火柴字
- 迷宫寻宝(一)xynuoj1857 && nyoj82
- XYNUOJ 天明的智商
- XYNUOJ 1020 求闰年
- XYNUOJ 1095 折半查找