现在的位置: 首页 > 综合 > 正文

编写一个程序,循环从键盘接收一批学生的某门课的成绩,并依次保存在数组score的相应元素中,直到输入的成绩为999时结束。

2014年07月17日 ⁄ 综合 ⁄ 共 1265字 ⁄ 字号 评论关闭

/*

编写一个程序,循环从键盘接收一批学生的某门课的成绩,并依次保存在数组score的相应元素中,直到输入的成绩为999时结束。

 1)对成绩按从高到低排序,然后顺序输出排序后的所有学生的成绩,

 2)再输入一个学生的成绩,并插入排序后的成绩表中并保持有序,最后再输出所有学生的成绩

 3)再输入一个成绩,并从数组中删除与该数相同的所有同学成绩,最后输出最终的成绩表

*/

#include <stdio.h>

#define N 1000

int I;

int main(void)

{

      int i=0,n=0;

      float score[N];

      for(i=0;;i++)

      {

            printf("输入第%d个学生的成绩:",i+1);

            scanf("%f",&score[i]);

            if(score[i]==999)

                 break;

      }//输入说有的成绩

      int j;

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

     {

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

          {

                int temp;

                if(score[n]<score[j])

                {

                       temp=score[n];

                       score[n]=score[j];

                       score[j]=temp;

                }

          }

     }//冒泡算法排序

      printf("从高到底分数排序为:\n");

      for(n=0;n<i;n++)printf("%7.2f ",score[n]);

             printf("\n");//输出排序后的成绩

      I=i;

      printf("请输入这个学生的成绩:");

      scanf("%f",&score[i]);

      I=I+1;

      for(n=0;n<I-1;n++)

     {

           for(j=n+1;j<I;j++)

           {

                 int temp;

                 if(score[n]<score[j])

                {

                       temp=score[n];

                       score[n]=score[j];

                       score[j]=temp;

                }

          }

     }

     printf("从高到底分数排序为:\n");

     for(n=0;n<I;n++)

            printf("%7.2f ",score[n]);

     printf("\n你想删除的分数:");

     float dnumber;

     scanf("%f",&dnumber);

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

     {

           if(dnumber==score[i])

                  i++;

           else 

                  printf("%7.2f ",score[i]);

     }

    return 0;

}

抱歉!评论已关闭.