自学内容网 自学内容网

移动数组中数字的方法(c语言)

1.移动一维数组中的内容;若数组中有n个整数,要求把下标从0到p(含p,p小于等于n-1)的数组元素平移到数组的最后。

例如,一维数组中的原始内容为:1,2,3,4,5,6,7,8,9,10;p的值为3。

移动后,一维数组中的内容应为:5,6,7,8,9,10,1,2,3,4。

2.我们确定数组,然后输入交换的几次,意思就是先前移动几位,然后每次移动的时候,将首元素存储在ch里面,将首元素赋值给数组的最后一位进行替换。

#include<stdio.h>
#define    N    80
void  fun(int* w, int  p, int  n)
{
    int x, j, ch;
    for (x = 0; x <= p; x++)//循环n次
    {
        ch = w[0];//将首元素存储起来
        for (j = 1; j < n; j++)//将数组先前移动一位
        {
            w[j - 1] = w[j];
        }
        w[n - 1] = ch;//将最后一个元素赋值为首元素
    }
}
main()
{
    int  a[N] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 };//
    int  i = 0; 
    int p = 0; 
    int n = 15;
    printf("The original data:\n");
    for (i = 0; i < n; i++)printf("%3d", a[i]);
    printf("\n\nEnter  p:  "); 
    scanf_s("%d", &p);//输入转换几个
    fun(a, p, n);
    printf("\nThe data after moving:\n");
    for (i = 0; i < n; i++)printf("%3d", a[i]);
    printf("\n\n");
    getchar();
}


原文地址:https://blog.csdn.net/scy2429828663/article/details/142501077

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!