4-2 数组元素串动 (25分)

一个数组有8个元素,其初始数据为:1 2 3 4 5 6 7 8 要求在不增加数组,也不增加数组的存储单元的情况下,通过移动数组元素将数组变化为:4 5 6 7 8 1 2 3

函数接口定义:

void fun(int a[]);
其中 a 是用户传入的参数。函数通过移动数组元素将数组 a 变化为:4 5 6 7 8 1 2 3。

裁判测试程序样例:

#include <stdio.h>
void fun(int a[]);
int main()
{
    int a[8]={1,2,3,4,5,6,7,8},i,j;
    fun(a);
    for(i=0;i<8;i++)
        printf("%3d",a[i]);
    printf("\n");
    return 0;
}

/* 请在这里填写答案 */

题目判定

void fun(int a[])
{
    int i,j;
    int *p;
    p=a;
    int temp;
    for(j=0;j<3;j++)
    {
        temp=*p;
        for(i=0;i<7;i++)
        {
            *(p+i)=*(p+i+1);
        }
        *(p+7)=temp;
    }
}

猜你喜欢

转载自blog.csdn.net/qq_35550443/article/details/53267616
4-2