/*
编写程序,实现功能:有n 个整数,使前面各数顺序向后移 m个位置,最后m个数变成最前面m个数。
例如:输入10个数1,2,3,4,5,6,7,8,9,10,向后移动4个位置,最后4个数变成最前面的,
数据变为5,6,7,8,9,10,1,2,3,4。
【输入样例】请输入数组的长度(<=100):10
请输入10个数:12345678910
请输入移动的位数:4
【输出样例】移动后数组:
5 6 7 8 9 10 1 2 3 4
*/
#include <stdio.h>
int main() {
int a[10]={1,2,3,4,5,6,7,8,9,10};
int b[10];
int n = 3,k;
/*
索引为0-3的a数组元素存到新数组b中
*/
for (int i = 0; i <= n; i++)
{
b[n-i] = a[n-i];
}
/*
输出 (1 2 3 4)
*/
for (int i = 0; i < 4; i++)
{
printf("%d",b[i]);
}
printf("\n");
/*
索引为5-9的a数组元素往前送 -->> a[0]=a[5],a[1]=a[6]......
*/
for (int i = 0; i <= 10-n; i++)
{
a[i] = a[n+1+i];
}
/*
b数组的元素送给a数组后四个位置
*/
for (int i = 0; i <=n; i++)
{
a[10-(n+1)+i] = b[i];
}
for (int i = 0; i < 10; i++)
{
printf("%3d",a[i]); // 5 6 7 8 9 10 1 2 3 4
}
return 0;
}
C语言:移动数组元素
最新推荐文章于 2024-04-09 17:45:25 发布