编写一个程序,循环从键盘接收一批学生的某门课的成绩,并依次保存在数组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;
}