58 lines
1.5 KiB
C
58 lines
1.5 KiB
C
/*----------------------------------------------------------------------
|
|
【程序设计】
|
|
------------------------------------------------------------------------
|
|
请编写函数 fun, 函数的功能是: 移动一维数组中的内容; 若数组中有 n 个整数,
|
|
要求把下标从 0 到 p(含 p,p 小于等于 n-1 )的数组元素平移到数组的最后,最后
|
|
输出移动后的数组。
|
|
示例:
|
|
【请输入数组元素的个数: 】10
|
|
【请输入10 个整数:】1 2 3 4 5 6 7 8 9 10
|
|
【请输入p 的值 (p <= 9):】 5
|
|
【移动后的数组为: 】7 8 9 10 1 2 3 4 5 6
|
|
------------------------------------------------------------------------
|
|
注意:部分源程序给出如下。请勿改动主函数 main 或其它函数中给出的内容,仅
|
|
在
|
|
Program-End 之间填入若干语句。
|
|
不要删除标志否则不得分。
|
|
不要修改或删除Program-End 之外的内容否则不得分。
|
|
----------------------------------------------------------------------*/
|
|
#include <stdio.h>
|
|
void fun(int *w, int p, int n)
|
|
{
|
|
int temp[p + 1];
|
|
/**********Program**********/
|
|
int i,k=0;
|
|
for(i=0;i<p+1;i++){
|
|
temp[i] = w[i];
|
|
}
|
|
for(;i<n;i++){
|
|
w[k++]=w[i];
|
|
}
|
|
for(i=0;k<n;k++){
|
|
w[k]=temp[i++];
|
|
}
|
|
/********** End **********/
|
|
}
|
|
int main()
|
|
{
|
|
int n, p;
|
|
printf("【请输入数组元素的个数: 】");
|
|
scanf("%d", &n);
|
|
int a[n];
|
|
printf("【请输入%d 个整数:】", n);
|
|
for (int i = 0; i < n; i++)
|
|
{
|
|
scanf("%d", &a[i]);
|
|
}
|
|
printf("【请输入p 的值 (p <= %d): 】", n - 1);
|
|
scanf("%d", &p);
|
|
fun(a, p, n);
|
|
printf("【移动后的数组为: 】");
|
|
for (int i = 0; i < n; i++)
|
|
{
|
|
printf("%d ", a[i]);
|
|
}
|
|
printf("\n");
|
|
return 0;
|
|
}
|