View Code of Problem 83

#include<stdio.h>
#include<string.h>
#include<math.h>
#define MAX 1000000+10
#define Max(a,b) a>b?a:b
#define Min(a,b) a<b?a:b
struct student{
	int id;
	int grade;
}Stu[100],t;
int main()
{
	int n,m;
	scanf("%d%d",&n,&m);
	int i,j;
	for(i=0;i<n+m;i++)
	{
		scanf("%d%d",&Stu[i].id,&Stu[i].grade);
	}
	for(i=1;i<n+m;i++)
	{
		t=Stu[i];
		for(j=i-1;j>=0&&Stu[j].id>t.id;j--)
		{
			Stu[j+1]=Stu[j];
		}
		Stu[j+1]=t;
	}
//	for(i=0;i<n+m;i++)
//	{
//		for(j=i+1;j<n+m;j++)
//		{
//			if(Stu[i].id>Stu[j].id)
//			{
//				temp=Stu[i];
//				Stu[i]=Stu[j];
//				Stu[j]=temp;
//			}
//		}
//	}
	for(i=0;i<n+m;i++)
	{
		printf("%d %d\n",Stu[i].id,Stu[i].grade);
	}
}

Double click to view unformatted code.


Back to problem 83