[问答题]

请编写函数fun(),该函数的功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从p~n-1(p<n-1)的数组元素平移到数组的前面。
  例如,一维数组中的原始内容为1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,的值为6。移动后,一维数组的内容应为7,8,9,10,11,12,13,14,15,1,2,3,4,5,6。
  注意:部分源程序给出如下。
  请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
/**********code.c**********/
#include <stdio.h>
#define N 80
void fun(int*w,int p,int n)
{
   
}
void main()
{
   int a[N]={ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
   int i,p,n=15;
   void NONO ();
   printf("The original data: ");
   for(i=0;i<n;i++)
   printf("=",a[i]);
   printf(" Enter p: ");
   scanf("%d",&p);
   fun(a,p,n);
   printf(" The data after moving: ");
   for(i=0;i<n;i++)
   printf("=",a[i]);
   printf(" ");
   NONO();
}
void NONO ()
{
/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
   int j,k,p;
   FILE *rf,*wf;
   rf = fopen("in.dat","r");
   wf= fopen("out.dat","w");
   for(j=0;j<10;j++)
   {
      int a[15]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
      fscanf(rf, "%d",&p) ;
      fun(a,p,15);
      for(k=0;k<15;k++)        
           fprintf(wf,"M",a[k]);
      fprintf(wf," ");
   }
   fclose(rf);
   fclose(wf);
}
/**********-code.c**********/
/**********indat**********/
1
2
3
4
5
6
7
8
9
10
/**********-indat**********/
/**********outdat**********/
  2   3   4   5   6   7   8   9  10  11  12  13  14  15   1
  3   4   5   6   7   8   9  10  11  12  13  14  15   1   2
  4   5   6   7   8   9  10  11  12  13  14  15   1   2   3
  5   6   7   8   9  10  11  12  13  14  15   1   2   3   4
  6   7   8   9  10  11  12  13  14  15   1   2   3   4   5
  7   8   9  10  11  12  13  14  15   1   2   3   4   5   6
  8   9  10  11  12  13  14  15   1   2   3   4   5   6   7
  9  10  11  12  13  14  15   1   2   3   4   5   6   7   8
 10  11  12  13  14  15   1   2   3   4   5   6   7   8   9
 11  12  13  14  15   1   2   3   4   5   6   7   8   9  10
/**********-outdat**********/

参考答案与解析:

相关试题

请编写函数fun(),该函数的功能是:移动一维数组中的内容,若数组中有n个整数,

[主观题]请编写函数fun(),该函数的功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从p到n-1(p≤n-1)的数组元素平移到数组的前面。例如,一维数组中的原始内容为1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,p的值为6。移动后,一维数组中的内容应为7,8,9,10, 11,12,13,14,15,1, 2, 3, 4, 5, 6。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:i

  • 查看答案
  • 请编写函数fun(),该函数的功能是:移动一维数组中的内容,若数组中有n个整数,

    [主观题]请编写函数fun(),该函数的功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从p~n-1(p<n-1)的数组元素平移到数组的前面。例如,一维数组中的原始内容为1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, P的值为6。移动后,一维数组的内容应为7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6。[注意] 部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fu

  • 查看答案
  • 请补充函数fun(),该函数的功能是:从键盘输入一个下标n,把数组aa中比元素a

    [主观题]请补充函数fun(),该函数的功能是:从键盘输入一个下标n,把数组aa中比元素aa[n]小的元素放在它的左边,比它大的元素放在它的右边,排列成的新数组仍然保存在原数组中。例如,数组aa={33,67,42,58,25,76,85,16,41, 56},输入3。结果输出“33,42,25,16,41,56,58,67,76,85”。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仪在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include<stdio.h

  • 查看答案
  • 下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[] [N],int m),该函数的功能是使数组右上半三角元素中的值乘以m。 例如,若m的值为2,a数组中的值为

    下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[] [N],int m),该函数的功能是使数组右上半三角元素中的值乘以m。

  • 查看答案
  • 函数fun()的功能是:逆置数组元素中的值。形参n给出数组中数据的个数。 例如:

    [主观题]函数fun()的功能是:逆置数组元素中的值。形参n给出数组中数据的个数。例如:若a所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则逆置后依次为:9、8、7、6、5、4、3、2、1。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在fun()函数的横线上填入所编写的若干表达式或语句。试题程序:

  • 查看答案
  • 请编写函数fun,函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中

    [试题]请编写函数fun,函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如,一维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10。删除后,数组中的内容应该是:2 3 4 5 6 7 8 9 10。注意:部分源程序在文件PROGl.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

  • 查看答案
  • 已知有二维数组A[0..n-1][0..n-1],其中当i+j=n时,A[i][j]≠0,现在要将A数组压缩存储到一维数组T[0..m],其中m>n。数组T的第一个元素T[0]=A[1][n-1] T

    [单选题]已知有二维数组A[0..n-1][0..n-1],其中当i+j=n时,A[i][j]≠0,现在要将A数组压缩存储到一维数组T[0..m],其中m>n。

  • 查看答案
  • 以下子例行程序用于实现向一维数组下标为P的数组元素处插入一个整数X<br />  SUB ROUTINE<br />  INSERT(B,N,P,X)<br /> 

    [单选题]以下子例行程序用于实现向一维数组下标为P的数组元素处插入一个整数X  SUB ROUTINE  INSERT(B,N,P,X)  INT EGERB(

  • 查看答案
  • 以下子例行程序用于实现向一维数组下标为P的数组元素处插入一个整数X<br />  SUBROUTINE<br />  INSERT(B,N,P,X)<br />  

    [单选题]以下子例行程序用于实现向一维数组下标为P的数组元素处插入一个整数X  SUBROUTINE  INSERT(B,N,P,X)  INTEGERB(N)

  • 查看答案
  • 以下子例行程序用于实现向一维数组下标为P的数组元素处插入一个整数X<br />  SUB ROUTINE<br />  INSERT(B,N,P,X)<br /> 

    [单选题]以下子例行程序用于实现向一维数组下标为P的数组元素处插入一个整数X  SUB ROUTINE  INSERT(B,N,P,X)  INT EGERB(

  • 查看答案