将数组最后一位元素移动到数组首元素位置,其余元素依次向后移动一位
题目:将数组最后一位元素移动到数组首元素位置,其余元素依次向后移动一位
代码实现:
#include<stdio.h>
int main()
{
//初始化整形数组
int arr[] = {10,9,8,7,6,5,4,3,2,1};
//求数组元素个数
int n = sizeof(arr)/sizeof(int);
//打印原始数组
printf("原始数组:\n");
for(int i = 0;i<n;i++)
{
printf("%d ",arr[i]);
}
putchar('\n');
//记录数组最后一个元素的值
int f = arr[n-1];
//替换除数组首元素外的每一个元素的值为它前面一个元素的值
for(int i =n-1;i>0;i--)
{
arr[i] = arr[i-1];
}
//将首元素的值赋值为之前记录的数组最后一个元素的值
arr[0] = f;
//打印 (将数组最后一位元素移动到数组首元素位置,其余元素依次向后移动一位) 后的数组
printf("将数组最后一位元素移动到数组首元素位置,其余元素依次向后移动一位:\n");
for(int i = 0;i<n;i++)
{
printf("%d ",arr[i]);
}
return 0;
}
程序运行结果: