legend


私信TA

用户名:dotcpp0599065

访问量:13811

签 名:

fish or cut baits

等  级
排  名 209
经  验 6267
参赛次数 0
文章发表 75
年  龄 0
在职情况 学生
学  校 黑龙江大学
专  业

  自我简介:

you can you up,no can don't bb

解题思路:比如 1 2 3 4 5 6 7 8 9 10;若要挪动m=2;则把8看作数组的头,则把1~8放到10后面;则输出时就从9所在数组的位置开始输出,输出到7为止

注意事项:本题以1~10这10个数为例,方便理解,这里以m=2为例

参考代码:

#include<stdio.h>

int back(int a[],int x,int n);

int main()

{

    int n;

    scanf("%d",&n);

    int a[100] ;

    int i,j=0;


    for(i=0;i<n;i++)

    {

        scanf("%d",&a[i]);

    }

    int x;

    scanf("%d",&x);

    back(a,x,n);                       //定义函数即把数组a的首地址,以及要挪动的项,输入的总个数。

      j=n-x;                              //即从数字9所在数组的位置开始输出。

    for(i=0;i<n;i++)

    {


        printf("%d ",a[j]);

        j=j+1;


    }

    return 0;


}


int back(int a[],int x,int n)

{

    int j,i;

    int t=n;

    for(i=0;i<n-x;i++,t++)

    {

        a[t]=a[i];           //即把1~8个数放到10的后面.

    }

}


 

0.0分

1 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区