5_41.cpp
上传用户:zipjojo
上传日期:2009-07-20
资源大小:70k
文件大小:1k
- #include <iostream.h>
- #include <iomanip.h>
- struct sport //结构声明(声明结构时不分配内存空间)
- {
- char num[4]; //数据成员1(结构中包含的数据变量称为数据成员)
- double grade; //数据成员2
- }; //不能缺少分号
- void print(sport* s)
- {
- static int num=0;
- cout<<setw(6)<<(num+1)<<setw(6)<<s->num<<setw(6)<<s->grade<<endl;
- num++;
- }
- void main()
- {
- sport a[12]={{"001",13.6},{"002",14.8},{"010",12.0},
- {"011",12.7},{"023",15.6},{"025",13.4},
- {"031",14.9},{"036",12.6},{"037",13.4},
- {"102",12.5},{"325",15.3},{"438",12.7}};
- sport * pa[12]={&a[0],&a[1],&a[2],&a[3],&a[4],&a[5],
- &a[6],&a[7],&a[8],&a[9],&a[10],&a[11]};
- sport * temp; //定义sport类型的指针变量temp
- int i,j;
- int row=12;
-
- for(i=0;i<row-1;i++) //直接插入排序,此为稳定排序。注意与冒泡法比较
- {
- temp=pa[i+1];
- j=i;
- while(j>-1 && temp->grade<pa[j]->grade)
- {
- pa[j+1]=pa[j];
- j--;
- }
- pa[j+1]=temp;
- }
- cout<<setw(6)<<"名次"<<setw(6)<<"编号"<<setw(6)<<"成绩"<<endl;
- for( i=0;i<12;i++)
- print(pa[i]); //最后通过结构指针输出它们访问的结构变量值
- }