一起答
主观

以下程序的功能是处理由学号和成绩组成的学生记录,N名学生的数据已在主函数中放入结构体数组s中,程序的功能是把分数最高的学生数据放在h所指的数组中。注意:分数高的学生可能不只一个,函数返回分数最高学生的人数。请填空。

#include 

#define N 16

typedef struct

{   char num[10];

int s;

} STREC;

int fun(STREC *a,STREC *b)

{  int i,j=0,max=a[0].s;

for(i=0;i

  if(max  for(i=0;i

  if()b[j++]=a[i];

return j;

}

main()

{  STREC s[N]={ {"GA005",85},{"GA003",76},{"GA002",69},{"GA004",85},

            {"GA001",91},{"GA007",72},{"GA008",64},{"GA006",87},

            {"GA015",85},{"GA013",91},{"GA012",64},{"GA014",91},

            {"GA011",66},{"GA017",64},{"GA018",64},{"GA016",72}};

STREC h[N];

int i,n;FILE *out;

n=fun(s,h);

printf("The %d highest score :\n",n);

for(i=0;i

 printf("%s %4d\n",h[i].num,h[i].s);

printf("\n");

out=fopen("out15.dat","w");

fprintf(out, "%d\n",n);

for(i=0;i

 fprintf(out, "%4d\n",h[i].s);

fclose(out);

}

参考答案
查看试卷详情
相关试题
  1. 以下函数的功能是:求x的y次方,请填空。

    double fun(double x,int y)

    {

         int i;

         double z;

         for(i=1,z=x;i

             z=z*;

         return z;

    }

  2. 若变量n中的值为24,则print()函数共输出行,最后一行有个数。

    void print (int n,int aa[])

    {

         int i;

         for(i=1; i<1;i++)

         {

               printf("%6d",aa[i]);

              if(!(i%5))

              printf("\n");

         }

         printf ("\n");

  3. 数据字典是各类数据描述的集合,它通常包括五个部分,即数据项、数据结构、数据流、和处理过程。

  4. 若有以下程序

    main()

    {

        char  a;

        a=’H’-’A’+’0’;

        printf("%c\n",a);

    }

    执行后的输出结果是

  5. 以下程序的功能是处理由学号和成绩组成的学生记录,N名学生的数据已在主函数中放入结构体数组s中,程序的功能是把分数最高的学生数据放在h所指的数组中。注意:分数高的学生可能不只一个,函数返回分数最高学生的人数。请填空。

    #include 

    #define N 16

    typedef struct

    {   char num[10];

    int s;

    } STREC;

    int fun(STREC *a,STREC *b)

    {  int i,j=0,max=a[0].s;

    for(i=0;i

      if(max  for(i=0;i

      if()b[j++]=a[i];

    return j;

    }

    main()

    {  STREC s[N]={ {"GA005",85},{"GA003",76},{"GA002",69},{"GA004",85},

                {"GA001",91},{"GA007",72},{"GA008",64},{"GA006",87},

                {"GA015",85},{"GA013",91},{"GA012",64},{"GA014",91},

                {"GA011",66},{"GA017",64},{"GA018",64},{"GA016",72}};

    STREC h[N];

    int i,n;FILE *out;

    n=fun(s,h);

    printf("The %d highest score :\n",n);

    for(i=0;i

     printf("%s %4d\n",h[i].num,h[i].s);

    printf("\n");

    out=fopen("out15.dat","w");

    fprintf(out, "%d\n",n);

    for(i=0;i

     fprintf(out, "%4d\n",h[i].s);

    fclose(out);

    }

  6. 按照软件测试的一般步骤,系统测试应在之后。

  7. 以下程序按下面指定的数据给x 数组的下三角置数,并按如下形式输出,请填空。

    #include 

    main()

        int x[4][4],n=0,i,j;

        for(j=0;j<4;j++)

         for(i=3;i>=j;)

           { n++;x[i][j]=;}

        for(i=0;i<4;i++)

        { 

         for(j=0;j<=i;j++) 

           printf("%3 d",x[i][j]);

         printf("\n");

        }

    }

  8. 以下函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址,例如,str所指字符串为Hello!,c中的字符为e,则函数返回字符串ello!的首地址。若str所指字符串为空或不包含c中的字符,则函数返回NULL,请填空。

    char *fun(char *str,char c)

    {

       int n=0;

       char *p=str;

       if(p!=NULL)

           while(p[n]!=c&&p[n]!=’\0’)

               n++;

       if(p[n]==’\0’)

           return NULL;

       return();

    }

  9. 以下程序运行后的输出结果是

    main

    {  int p=30;

    printf("%d\n",(p/3>0?p/10 : p%3));

    }

  10. 在E-R图中,主要的图形有矩形框、菱形框、椭圆框。其中矩形框表示