已知数组array[10]={1,2,3,4,5,6,7,8,9,10};要求把下标从0到p(p从键盘输入)的数组元素平移到数组的最后,并输出平移后的数组。
#include <stdio.h>
int main(void) {
int array[10]={1,2,3,4,5,6,7,8,9,10};
int move_array[10];
int p;
scanf("%d", &p);
int j=0;
for(int i=p+1;i<10;i++){
move_array[j++]=array[i];
}
for(int i=0;i<=p;i++){
move_array[j++]=array[i];
}
for(int i=0;i<10;i++){
printf("%d ", move_array[i]);
}
return 0;
}
int main()
{
int array[10] = { 1,2,3,4,5,6,7,8,9,10 };
int a[10];
int p; cin >> p;
for (int i = 0; i < 10; i++)//将array复制一下
{
a[i] = array[i];
}
for (int i = 0; i < 9-p; i++)//将array中后9-p个数挪到前面
{
array[i] = a[p + 1 + i];
}
for (int i = 0; i <p+1; i++)//将array中前p+1个数用a中对应的数填充
{
array[9-p+i] = a[i];
}
for (int i = 0; i < 10; i++)
cout << array[i];
}