数组num移位问题,最后一位往前移

img

循环遍历数组,将数组元素赋值到新数组中。

#include "stdio.h"
int main()
{
     int num[10]={0,1,2,3,4,5,6,7,8,9},num2[10];
     printf("移动前:\n");
     for(int i=0;i<10;i++){
         printf("%d ",num[i]);
     }
     printf("\n移动后:\n");
     num2[0]=num[9];
     for(int j=1;j<10;j++){
         num2[j]=num[j-1];
     }
     for(int i=0;i<10;i++){
         printf("%d ",num2[i]);
     }
    return 0;
}

用个变量记录最后一位的值,然后其余值向前移动,最后将记录值写入数组第一个位置

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