自考

各地资讯
当前位置:考试网 >> 自学考试 >> 自考真题 >> 工学类 >> 高级语言程序设计(一) >> 文章内容

排行热点

全国2009年1月自学考试高级语言程序设计(一)试题_第5页

来源:考试网 [ 2013年12月7日 ] 【大 中 小】

四、程序填充题(本大题共3小题,每小题6分,共18分)

请将下列程序横线处缺少的部分补上,使其能正确运行。

30. 从键盘输入10个整数,用“冒泡排序法”由小到大进行排序。

   #define N 10

   main()

   { int i,j,t,a[N];

for(i=0;i<N;i++) scanf(“%d’’,&a[i]);

for(i=0;i<N-1;i++)

for(j=N-1;j>=i+1;______ )    /*第一空*/

if(a[j]<a[j-1])

{ t=a[j];________;a[j-1]=t;}      /*第二空*/

for(i=0;i<N;i++)printf(″%5d″, _______);     /*第三空*/

printf(″\n″);

}

31. 统计文本文件file.dat的行数(提示:以’\n’作为每行的结束)。

    #include<stdio.h>

    #include<stdlib.h>

    main()

    { int lines=_________;              /*第一空*/

      char ch;

      FILE *fp;

      fp=fopen(″file.dat″,″r″);

      while(_______)                  /*第二空*/

      { ch=fgetc(fp);

        if (ch _____ ’\n’) lines++:      /*第三空*/

      }

      printf(″Lines=%d\n″,lines);

      fclose(fp);

    }

32. 从键盘输入10名学生的姓名和数学、英语及C语言的成绩,计算并输出其总成绩和平均成绩。

    typedef struct

    { char name[20];

      int math,english,C;

      float sum,aver;     /* 总成绩和平均成绩 */

    }STU;

     main()

     { STU st[10],*p;

       int i:

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

       { printf(″Input name:″);

         scanf(″%s″,______);      /*第一空*/

         printf(″Input 3 score: ″);

         scanf(″%d,%d,%d″,&st[i].math,&st[i].english,&st[i].C);

       }

       for(p=st;p<st+10:p++)

       { p->______=p->math+p->english+p->C;      /*第二空*/

         p->______=p->sum/3;         /*第三空*/

         printf(″name=%s,sum=%5.1f,aver=%5.1f\n″, p->name, p->sum, p->aver);

       }

     }

 

责编:may1205