清编写函数fun,其功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从0~p(含p,p小于等于n-1)的数组元素平移到数组的最后。 例如,一维数组中的原始内容为:1、2、3、4、5、6、 7、8、9、10;P的值为3。移动后,一维数组中

admin2016-12-06  21

问题 清编写函数fun,其功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从0~p(含p,p小于等于n-1)的数组元素平移到数组的最后。
    例如,一维数组中的原始内容为:1、2、3、4、5、6、
7、8、9、10;P的值为3。移动后,一维数组中的内容应为:5、6、7、8、9、10、1、2、3、4。
    注意:部分源程序给出如下。
    请勿改动主函数main和其他函数中的内容,仅在函数fun的花括号中填入你编写的若干语句。
    试题程序:
1  #include<stdio.h>
2  #define N 80
3  void fun(int*w,int p,int n)
4     {
5   }
6  main ()
7  {  int a[N]=(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
8    int i,p.n=15;
9    printf (’’The original da-ta:\n’’);
10    for(i=0;i11   printf(’’%3d’’,a);
12   printf(’’\n\nEnter p:’’);
13    scanf(’’%d’’,&p);
14    fun(a,p,n);
15    printf (’’\nThe data after mov-ing:\n’’);
16    for(i=0 ; i17  printf(’’%3 d’’,a);
18   printf(’\n\n’’);
19  }

选项

答案1 void fun(int * w,int p,int n) 2 { int x,j,ch; 3 for(x=0;x<=p;x++) 4 { ch=w[0]; 5 for(j=1;j
解析 本题要求把下标从0~p(含p,p小于等于n-1)的数组元素平移到数组的最后,可以根据输入的p值,通过for循环语句,将p+1~n-1(含n-1)之间的数组元素依次向前移动p+1个存储单元,即w[j-1]=w[j];,同时将0~p个数组元素逐一赋给数组w[n-1],也就是通过语句w[n-1]=ch;来实现此操作的。
转载请注明原文地址:https://jikaoti.com/ti/9Li0FFFM
0

随机试题
最新回复(0)