2016亚洲酷狗音乐盛典:C语言编程题!急急!!!

来源:百度文库 编辑:高校问答 时间:2024/05/09 03:21:09
输入5名同学的成绩,统计出最高分,最低分,并按名次以列表的形式显示成绩
请写一下程序!

#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> grade;
for(int i=0;i<5;i++){
int key;
cin>>key;
grade.push_back(key);
}
sort(grade.begin(),grade,end());
for(int i=grade.size()-1;i>=0;i--)
cout<<grade[i]<<endl;
return 0;
}

#include <stdio.h>
#include <stdlib.h>

int compare_ints( const void* a, const void* b ) {
int* arg1 = (int*) a;
int* arg2 = (int*) b;
if( *arg1 > *arg2 ) return -1;
else if( *arg1 == *arg2 ) return 0;
else return 1;
}
main()
{
float array[5];//支持浮点数
int i;
for(i=0; i<5; i++)
{
printf("请输入第%d位同学的成绩",i);
scanf("%f",&array[i]);
}

//排序
//InsertSort(array);
qsort( array, 5, sizeof(float), compare_ints);

//统计出最高分,最低分
printf最高分: %0.2f; 最低分: %0.2f\n",array[0], array[4]);
printf("\n名次列表如下: º\n");
for(i=0; i<5; i++)
{
printf("第%d名: %0.2f\n",i,array[i]);
}

system("pause");

}

xknuth是用C++容器类实现的,有现成的排序方法(属于通用编程思想)。用C语言做还麻烦一点,不过这个很基础,建议你亲自动手写程序,主要就是把5个人成绩从高到低排序,人数不多,也不用太复杂的排序算法,用冒泡排序、选择排序就可以了。上面的排序函数没有定义啊

这个是最简单的排序算法呀。
通过比较法。

基础题目啊,类似的题目练习的多了去了

你买一本数据结构看看!