1. 程式人生 > >(1)實驗要求: 掌握常用的排序方法及其實現方法; 深刻理解排序的定義和各種排序方法的特點, 並能 加以靈活應用; 瞭解各種方法的排序過程及其依據的原則, 度的分析方

(1)實驗要求: 掌握常用的排序方法及其實現方法; 深刻理解排序的定義和各種排序方法的特點, 並能 加以靈活應用; 瞭解各種方法的排序過程及其依據的原則, 度的分析方

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define n 3
struct student
{
	char name[10];
	int score;
}R[n];
int main()
{
	int num,i,j,max,temp;
	printf(" 輸入學生姓名和成績:\n");
	for(i=0;i<n;i++)
	{
		printf(" 姓名 :");
		scanf("%s",R[i].name);
		printf(" 成績 :");
		scanf("%d",&(R[i].score));
	}
	num=1;
	printf("\n 成績排名為: \n\n");
	for(i=0;i<n;i++)
	{
	max=i;
	for(j=i+1;j<n;j++)	// 冒泡法排序
	if(R[j].score>R[max].score)
		max=j;
		if(max!=i)
		{
			temp=R[max].score;
			R[max]=R[i];
			R[i].score=temp;
		}
		if((i>0)&&(R[i].score<R[i-1].score))
		num=num+1;
		printf(" 第%d 名:姓名: %s 成績: %d 分 \n",num,R[i].name,R[i].score);
	}
	getch();
}