PTA 您所在的位置:网站首页 c语言位置函数 PTA

PTA

2023-10-15 21:01| 来源: 网络整理| 查看: 265

题目

本题要求实现一个对数组进行循环右移的简单函数:一个数组a中存有n(>0)个整数,将每个整数循环向右移m(≥0)个位置,即将a中的数据由 ( a 0 a 1 . . . a n − 1 ) ) (a_0a_1...a_{n-1})) (a0​a1​...an−1​))变换为 ( a n − m . . . a n − 1 a 0 a 1 . . . a n − m − 1 ) (a_{n-m}...a_{n-1}a_0a_1...a_{n-m-1}) (an−m​...an−1​a0​a1​...an−m−1​) (最后m个数循环移至最前面的m个位置)。

函数接口定义:

int ArrayShift( int a[], int n, int m );

其中a[]是用户传入的数组;n是数组的大小;m是右移的位数。函数ArrayShift须将循环右移后的数组仍然存在a[]中。

裁判测试程序样例:

#include #define MAXN 10 int ArrayShift( int a[], int n, int m ); int main() { int a[MAXN], n, m; int i; scanf("%d %d", &n, &m); for ( i = 0; i int b[MAXN],i; if(m>n)m=m%n; //m为移动距离,n为数组长度,将移动距离调整为右移量 for(i=0;i //将标绿的部分存入数组b b[i]=a[i-m]; } for(i=0;i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有