《c++经典代码大全.pdf》由会员分享,可在线阅读,更多相关《c++经典代码大全.pdf(67页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 整理为 word 格式#include /包含 iostream.h 头文件 main()/声明变量,并初始化 int a=010,b=10,c=0X10;/以十进制形式显示数据 coutDEC:;cout a=a;cout b=b;cout c=cendl;/以八进制形式显示数据 coutOCT:;coutoct;/指定八进制输出 cout a=a;cout b=b;cout c=cendl;/以十六进制形式显示数据 coutHEX:;couthex;/指定十六进制输出 cout a=a;cout b=b;cout c=cendl;/八、十和十六进制数混合运算并输出 couta+b+c=;
2、coutdec;/恢复十进制输出 couta+b+cendl;/测试八、十和十六进制输入 couta;coutb;coutc;coutDEC:decendl;/指定十进制输出 couta=aendl;coutb=bendl;coutc=cdx;coutdy;coutdx+dy=dx+dyendl;coutdx-dy=dx-dyendl;coutdx*dy=dx*dyendl;coutdx/dy=dx/dyendlendl;/coutfx%fy=fx%fyendl;Error!/测试 float 和 double 类型数据的有效位 fx=10.0;fy=6.0;float fz=fx/fy;dx
3、=10.0;dy=6.0;double dz=dx/dy;coutfz=;coutsetprecision(20)fx/fy=fzendl;coutdz=;coutsetprecision(20)dx/dy=dzendlendl;/float 型溢出 float x=3.5e14;coutx=xendl;coutx*x=x*xendl;coutx*x*x=x*x*xendl;#include main()/x,y 为操作数,c 为运算符 int x,y,z;char c1;cinxc1y;/c1 /多路选择语句选择不同表达式计算语句 switch(c1)case+:coutx+y=x+yend
4、l;break;case-:coutx-y=x-yendl;break;case*:coutx*y=x*yendl;break;case/:coutx/y=x/yendl;break;case%:coutx%y=x%yendl;break;default:coutWrong!endl;/当不符合上述情况时执行本子句#include float x=365.5;/声明全局变量 main()int x=1,y=2;double w=x+y;double x=1.414,y=1.732,z=3.14;coutinner:x=xendl;coutinner:y=yendl;coutinner:z=ze
5、ndl;coutouter:w=wendl;cout:x=:xendl;/访问重名的全局变量 coutouter:x=xendl;coutouter:y=yendl;coutouter:w=wendl;/coutinner:z=zendl;无效 cout:x=:xendl;/访问重名的全局变量 整理为 word 格式#include main()/显示 1,2,3.10 for(int i=1;i=10;i+)couti;cout=1;j-)coutj;coutendl;/显示 1,3,5.9 for(int k=1;k=10;k=k+2)coutk;coutendl;/显示 ABC.Z fo
6、r(char c=A;c=Z;c+)coutc;coutendl;/显示 0,0.1,0.2.1.0 for(float x=0;x=1.0;x=x+0.1)coutx;coutendl;/显示 0,0.1,0.2.1.0 for(float x1=0;x1=1.0+0.1/2;x1=x1+0.1)coutx1;coutendl;/计算 s=1+2+3.+100 int s=0;for(int n=1;n=100;n+)s=s+n;couts=sendl;#include main()/计算 s=1+2+3.+100 int s=0,n=1;while(n=100)s=s+n;n+;couts
7、=sendl;/累加键盘输入的数据 double x,sum=0.0;coutx;while(x!=0)sum+=x;coutx;coutsum=sumendl;#include main()/计算 s=1+2+3.+100 int s=0,n=0;do n+;s+=n;while(n100);couts=sendl;/累加键盘输入的数据 double x,sum=0.0;do coutx;sum+=x;while(x!=0);coutsum=sumendl;#include main()/计算和打印打印乘法九九表 for(int i=1;i=9;i+)couti;for(int j=1;j=
8、9;j+)coutti*j=i*j;coutendl;#include main()int x,sum=0;/定义标号 L1 L1:coutx;if(x=-1)goto L2;/无条件转移语句,转到 L2 语句处 else sum+=x;goto L1;/无条件转移语句,转到 L1 语句处 /定义标号 L2 L2:coutsum=sumendl;#include main()/累加键盘输入的数据 double x,sum=0.0;while(1)coutx;整理为 word 格式 if(x=0)break;sum+=x;coutsum=sumendl;#include main()int i;
9、for(i=1;i=20;i+)if(i%3=0)/能被 3 整除的整数,返回进行下次循环 continue;couti;coutendl;#include main()/声明数组和变量 int a5,i,sum;double avg;/从键盘上循环为数组赋值 for(i=0;i5;i+)coutaiai;/直接显示数组元素 couta0a1a2a3a4endl;/利用 for 循环显示数组各元素的值 for(i=0;i5;i+)coutai ;coutendl;/计算数组元素之和,并显示计算结果 sum=a0+a1+a2+a3+a4;coutsum=sumendl;/利用循环计算数组的累加和
10、 for(sum=0,i=0;i5;i+)sum+=ai;/显示累加和及平均值 coutsum=sumendl;avg=sum/5.0;coutavg=avgendl;#include main()int i,max,index,a5;/从键盘上为数组赋值 for(i=0;i=4;i+)coutaiai;/利用循环遍历数组,找出最大值的元素及其下标 max=a0;for(i=0;i=4;i+)if(maxai)max=ai;index=i;coutnMax=max index=index;#include#define size 5 main()/声明变量 int i,j;float t,as
11、ize;/从键盘上为数组赋值 for(i=0;isize;i+)coutaiai;/对数组按从小到大顺序排序 for(i=0;isize-1;i+)for(j=i+1;jaj)t=ai;ai=aj;aj=t;/显示排序结果 for(i=0;isize;i+)coutai;coutendl;/输入要查找的数据 int value;int found;/找到为 1,否则为 0 int low,high,mid;for(i=1;i=3;i+)coutvalue;/二分法查找数组 a found=0;low=0;high=size-1;while(low=high)整理为 word 格式 mid=(h
12、igh+low)/2;if(amid=value)found=1;break;if(amidvalue)low=mid+1;else high=mid-1;if(found)coutThe valu found at:amid=amidendl;else coutThe value is not found!endl;#include main()/声明变量 int i,j;float t,a5;/从键盘上为数组赋值 for(i=0;i=4;i+)coutaiai;/对数组按从大到小顺序排序 for(i=0;i=3;i+)for(j=i+1;j=4;j+)if(ai=aj)t=ai;ai=aj
13、;aj=t;/显示排序结果 for(i=0;i=4;i+)coutai;#include main()/声明二维数组及变量 int a23,i,j;/从键盘上为数组 a 赋值 for(i=0;i2;i+)for(j=0;j3;j+)coutaijaij;/显示数组 a for(i=0;i2;i+)for(j=0;j3;j+)coutaij ;coutendl;/找出该数组的最大元素及其下标 int h,l,Max=a00;for(i=0;i2;i+)for(j=0;j3;j+)if(Maxaij)Max=aij;h=i;l=j;coutMax:ahl=ahlendl;#include main
14、()/声明字符数组和变量 char str6;int i;/从键盘上输入字符串 coutstr;coutstrendl;/按数组和下标变量两种方式显示字符数组 coutstrendl;for(i=0;i6;i+)coutstri;cout=0;i-)coutstri;coutendl;/将字符数组变成大写字母后输出 for(i=0;i=5;i+)stri-=32;/小写字母转换成大写字母 coutstrendl;/显示字符串#include main()/声明变量和指针变量 int a,b,c,*ip;整理为 word 格式 /指针变量 ip 指向变量 a a=100;ip=&a;/使指针变量
15、 ip 指向变量 a couta=aendl;cout*ip=*ipendl;coutip=ipendl;/指针变量 ip 指向变量 b ip=&b;/使指针变量 ip 指向变量 b b=200;coutb=bendl;cout*ip=*ipendl;coutip=ipendl;/指针变量 ip 指向变量 c ip=&c;/使指针变量 ip 指向变量 b *ip=a+b;coutc=cendl;cout*ip=*ipendl;coutip=ipendl;#include main()/声明数组、变量和指针变量 int a23,i,j;int*ip;/从键盘上为数组 a 赋值 for(i=0;i
16、2;i+)/为数组 a 赋值 for(j=0;j3;j+)coutaijaij;/利用下标变量显示数组 a for(i=0;i2;i+)for(j=0;j3;j+)coutaij ;coutendl;/利用指针变量显示数组 a ip=&a00;for(i=0;i2;i+)for(j=0;j3;j+)coutaij=;coutip ;cout*ipendl;ip+;#include main()/声明数组、变量和指针变量 int a=1,2,3,4,5,6;int*ip1,*ip2;/测试指针的赋值运算 ip1=a;ip2=ip1;cout*ip1=(*ip1)endl;cout*ip2=(*i
17、p2)endl;/测试指针的自增自减运算和组合运算 ip1+;ip2+=4;cout*ip1=(*ip1)endl;cout*ip2=(*ip2)ip1;coutip1=nendl;coutip2!=NULL=(ip2!=NULL)endl;/指针变量之间的减法 n=ip2-ip1;coutip2-ip1=nendl;#include main()/声明字符型数组和指针变量 char str10;char*strip=str;/输入输出 coutstr;/用字符数组输入字符串 coutstr=strendl;coutstrip=stripendl;coutstrip;/用字符指针变量输入字符串
18、 coutstr=strendl;coutstrip=stripendl;/利用指针变量改变其指向字符串的内容 *(strip+2)=l;coutstr=strendl;coutstrip=stripendl;/动态为字符型指针变量分配内存 strip=new char(100);coutstrip;/用字符指针变量输入字符串 coutstr=strendl;coutstrip=stripendl;#include main()/声明用于存放运动员号码的数组 int h=1001,1002,1003,1004;/声明用于存放运动员成绩的数组 整理为 word 格式 float x=12.3,1
19、3.1,11.9,12.1;/声明用于存放运动姓名的字符型指针数组 char*p=Wang hua,Zhang jian,Li wei,Hua ming;/i,j,it 是用做循环控制变量和临时变量 int i,j,it;/ft 用做暂存变量 float ft;/pt 为字符型指针变量用做暂存指针变量 char*pt;/用选择法对数组 x 进行排序,并相应调整数组 h 和 p 中的数据 for(i=0;i=3;i+)for(j=i+1;j=xj)ft=xi,xi=xj,xj=ft;it=hi,hi=hj,hj=it;pt=pi,pi=pj,pj=pt;/以下打印排序结果 for(i=0;i=3
20、;i+)couthi,pi,xiendl;#include main()/声明指针数组 char*colors=Red,Blue,Yellow,Green;/指向指针的指针变量 char*pt;/通过指向指针的变量访问其指向的内容 pt=colors;for(int i=0;i=3;i+)coutpt=ptendl;cout*pt=*ptendl;cout*pt=*ptendl;pt+;#include main()/定义结构类型 struct books char title20;char author15;int pages;float price;/声明结构变量 struct books
21、 Zbk=VC+,Zhang,295,35.5;books Wbk;/对结构变量的输出 coutZbk:endl;coutZbk.title endl;coutZbk.authorendl;coutZbk.pagesendl;coutZbk.priceendl;cout-endl;/对结构成员的运算 Zbk.pages+=10;Zbk.price+=0.5;coutZbk.pages=Zbk.pagesendl;coutZbk.price=Zbk.priceendl;cout-endl;/对结构变量的输入输出 coutWbk.title;coutWbk.author;coutWbk.pages
22、;coutWbk.price;coutWbk:endl;coutWbk.title endl;coutWbk.authorendl;coutWbk.pagesendl;coutWbk.priceendl;cout-endl;/结构变量之间的相互赋值 books temp;temp=Wbk;couttemp:endl;couttemp.titleendl;couttemp.authorendl;couttemp.pagesendl;couttemp.priceendl;#include main()int i;/定义结构类型 struct student int num;char name10;
23、float maths;float physics;float chemistry;double total;/声明结构数组 st student st3;/从键盘上为结构数组输入值 cout num name maths physics chemistry endl;for(i=0;i3;i+)整理为 word 格式 couti+1sti.num;cinsti.name;cinsti.maths;cinsti.physics;cinsti.chemistry;/计算每个学生的总成绩 for(i=0;i3;i+)sti.total=sti.maths+sti.physics+sti.chemi
24、stry;/输出结构数组各元素的值 for(i=0;i3;i+)coutsti:;coutsti.numt;coutsti.namet;coutsti.mathst;coutsti.physicst;coutsti.chemistryt;coutsti.totalendl;#include main()/定义结构类型 struct human char name10;int sex;int age;/声明结构变量和结构指针变量,并初始化 struct human x=WangPing,1,30,*p=NULL;/结构指针变量指向对象 p=&x;/显示结构变量的值 coutx.name=x.na
25、meendl;coutx.sex=x.sexendl;coutx.age=x.ageendl;/利用结构指针显示结构对象中的数据 cout(*p).name=(*p).nameendl;cout(*p).sex=(*p).sexendl;cout(*p).age=(*p).ageendl;coutname=nameendl;coutsex=sexendl;coutage=ageendl;/通过结构指针为结构对象输入数据 cout(*p).name;cout(*p).sex;cout(*p).age;/显示结构变量的值 coutx.name=x.nameendl;coutx.sex=x.sexe
26、ndl;coutx.age=x.ageendl;include main()/定义结构类型 struct human char name10;int sex;int age;/声明结构变量和结构指针,并初始化 struct human x=WangPing,1,30,*p=&x;/利用结构指针显示结构中的数据 cout(*p).name=(*p).nameendl;cout(*p).sex=(*p).sexendl;cout(*p).age=(*p).ageendl;cout-endl;/利用 new 运算符为 p 分配内存 p=new human;/从键盘上为 p 指向的结构对象赋值 cou
27、tname=;cinp-name;coutsex=;cinp-sex;coutage=;cinp-age;cout-endl;/显示 p 所指结构对象的值 coutname=nameendl;coutsex=sexendl;coutage=ageendl;cout-endl;/显示结构变量的值 coutx.name=x.nameendl;coutx.sex=x.sexendl;coutx.age=x.ageendl;/释放 p 指向的内存 delete p;#include main()/定义结构类型 struct human char name10;int sex;整理为 word 格式 i
28、nt age;/声明结构数组和结构指针变量,并初始化 human x=WeiPing,1,30,LiHua,1,25,LiuMin,0,23,*p=NULL;/用下标变量的输出结构数组的元素 for(int i=0;i3;i+)coutxi.namet;coutxi.sext;coutxi.ageendl;cout-endl;/用结构指针输出结构数组的元素 for(p=x;p=&x2;p+)coutnamet;coutsext;coutageendl;#include main()/定义一个包含指针成员的结构类型 struct test char*str;int *ip;x;/使用结构变量 x
29、 中的整型指针 ip x.ip=new int;/分配 1 个单元 *(x.ip)=100;coutx.ip:x.ipt*(x.ip)endl;cout-endl;delete x.ip;x.ip=new int5;/分配 5 个单元 for(int i=0;i5;i+)*(x.ip+i)=100+i;coutx.ip:endl;for(i=0;i5;i+)coutx.ip+it(*(x.ip+i)endl;delete x.ip;cout-endl;/使用结构变量 x 中的字符型指针 str x.str=new char(A);/分配 1 个单元 coutx.str:(*x.str)endl
30、;cout-endl;delete x.str;x.str=new char5;/分配多个单元 *x.str=G;*(x.str+1)=o;*(x.str+2)=o;*(x.str+3)=d;*(x.str+4)=0;coutx.str:x.strendl;delete x.str;cout-endl;/在声明结构变量时初始化 test y=Very Good!,NULL;couty.str:y.strendl;couty.ip:y.ipendl;#include main()/定义 date 结构 struct date int year;int month;int day;/定义 baby
31、 结构 struct baby int num;float weight;date birthday;/date 为结构类型 ;/声明 baby 结构变量并初始化 baby b1=10001,10,2002,12,25;/下列是 baby 结构变量 b1 的引用。coutb1.num=b1.numendl;coutb1.weight=b1.weightendl;coutb1.birthday.year=b1.birthday.yearendl;coutb1.birthday.month=b1.birthday.monthendl;coutb1.birthday.day=b1.birthday.
32、dayendl;cout-endl;/声明 baby 结构变量 temp,并进行赋值运算 baby temp;temp=b1;couttemp.num=temp.numendl;couttemp.weight=temp.weightendl;couttemp.birthday.year=temp.birthday.yearendl;couttemp.birthday.month=temp.birthday.monthendl;couttemp.birthday.day=temp.birthday.dayendl;#include main()/定义名为 list 的递归结构 struct li
33、st char name10;int sex;int age;整理为 word 格式 list *next;/成员 next 为指向其自身结构的指针 ;/使用递归结构变量 list L1=WeiPing,1,35.5,NULL;coutL1:endl;coutnametL1.nameendl;coutsextL1.sexendl;coutagetL1.ageendl;coutnexttL1.nextendl;#include main()int i;/定义名为 student 的递归结构 struct student char name10;int math;int computer;floa
34、t sum;student*next;/next 成员是指向自身的结构指针 ;/用 student 声明 3 个结构指针变量 struct student*head,*tail,*temp;/申请第 1 块数据,并设置各结构指针的初值 temp=new struct student;/申请内存 head=temp;/头指针 tail=head;/尾指针 /循环为链表输入数据 couttname Math Computerendl;for(i=1;i+)coutitemp-name;if(temp-name0!=*)cintemp-mathtemp-computer;temp-sum=temp-
35、math+temp-computer;temp-next=NULL;tail=temp;/设置链表尾指针 else /以下是输入结束处理 delete temp;tail-next=NULL;break;/为下一个学生申请内存 temp-next=new struct student;temp=temp-next;/使处理指针 temp 指向新内存块 /将链表数据从头到尾打印出来 cout-endl;temp=head;while(temp!=NULL)coutname,math,;coutcomputer,sumnext;#include main()int i;/定义名为 student
36、的递归结构 struct student char name10;int math;int computer;float sum;student*forw;/forw 成员是前指针 student*next;/next 成员是后指针 ;/用 student 声明 3 个结构指针变量 struct student*head,*tail,*temp;/申请第 1 块数据,并设置各结构指针的初值 temp=new struct student;/申请内存 head=temp;/头指针 tail=head;/尾指针 head-forw=NULL;/循环为链表记录输入数据 couttname Math
37、Computerendl;for(i=1;i+)coutitemp-name;if(temp-name0!=*)cintemp-mathtemp-computer;temp-sum=temp-math+temp-computer;temp-next=NULL;tail=temp;/设置链表尾指针 else /以下是输入结束处理 delete temp;tail-next=NULL;break;/为下一个学生申请内存 temp-next=new struct student;temp-next-forw=temp;/设置前指针 temp=temp-next;/使处理指针 temp 指向新内存块
38、/将链表数据从头到尾打印出来 couttail:endl;temp=head;整理为 word 格式 while(temp!=NULL)coutname,math,;coutcomputer,sumnext;/将链表数据从尾到头打印出来 couthead:endl;temp=tail;while(temp!=NULL)coutname,math,;coutcomputer,sumforw;#include main()int i;/定义联合类型 union utag char c;int k;float x;/声明联合变量 union utag u;/使用联合变量中的字符型成员 u.c=*;c
39、outu.c=u.cendl;/使用联合变量中的整型成员 u.k=1000;coutu.k=u.kendl;/使用联合变量中的浮点型成员 u.x=3.1416;coutu.x=u.xendl;/声明联合变量时初始化 utag u1=A;/同时引用联合变量的各成员 coutu1.c=u1.cendl;coutu1.k=u1.kendl;coutu1.x=u1.xendl;#include main()/定义结构类型,并为声明的结构变量赋初值 struct s_tag short i;float x;sx=100,3.1416;/定义联合类型,并为声明的联合变量赋初值 union u_tag sh
40、ort i;float x;ux=1000;/输出结构类型和结构变量的有关信息 coutsizeof(struct s_tag)=sizeof(struct s_tag)endl;coutsx.i=sx.iendl;coutsx.x=sx.xendl;coutsizeof(sx)=sizeof(sx)endl;cout-endl;/输出联合类型和联合变量的有关信息 coutsizeof(union u_tag)=sizeof(union u_tag)endl;ux.i=200;coutux.i=ux.iendl;/输出联合变量 ux 的 i成员 ux.x=123.456;coutux.x=ux
41、.xendl;/输出联合变量 ux 的 x成员 coutsizeof(ux)=sizeof(ux)endl;#include main()/自定义类型 typedef int ARRAY_INT50;int i;ARRAY_INT a;/用自定义类型声明数组变量 a /以下为数组 a 赋值,并打印 for(i=0;i50;i+)if(i%10=0)/每 10 个数换一次行 coutendl;ai=i;coutait;coutendl;#include/定义结构类型 struct student int num;char name20;float grade;void main(void)/声明
42、数组 int i,size;char str=This is a string.;int int_values=51,23,2,44,45,0,11;float float_values=15.1,13.3,22.2,10.4,1.5;student st_arr=101,WangLin,92,102,LiPing,85,103,ZhaoMin,88;整理为 word 格式 /显示 char 类型数组元素及其大小 size=sizeof(str)/sizeof(char);coutNumber of elements in str:;coutsizeendl;for(i=0;isize;i+)
43、coutstri;coutendl;/显示 int 类型数组元素及其大小 size=sizeof(int_values)/sizeof(int);coutNumber of elements in int_values:;coutsizeendl;for(i=0;isize;i+)coutint_valuesi;coutendl;/显示 float 类型数组元素及其大小 size=sizeof(float_values)/sizeof(float);coutNumber of elements in float_values:;coutsizeendl;for(i=0;isize;i+)cou
44、tfloat_valuesi;coutendl;/显示 student 类型数组元素及其大小 size=sizeof(st_arr)/sizeof(student);coutNumber of elements in st_arr:;coutsizeendl;for(i=0;isize;i+)coutst_arri.num;coutst_arri.name;coutst_arri.gradeendl;#include/add()函数的定义,其有返回值 double add(double x,double y)double z;z=x+y;coutx+y=zendl;return(z);main
45、()double a=0.5,b=1.0;/以不同参数形式调用函数 add()coutadd(1.5,2.5)=add(1.5,2.5)endl;coutadd(a,b)=add(a,b)endl;coutadd(2*a,a+b)=add(2*a,a+b)endl;cout-endl;/以表达式方式调用函数 add()double c=2*add(a,b);coutc=cendl;cout-endl;/以语句式方式调用函数 add()add(2*a,b);cout-endl;/用其他类型参数调用函数 add()int n=1,m=2;coutadd(n,m)=add(n,m)endl;#inc
46、lude/定义符号函数 sgn(),其返回值为 int 类型 int sgn(double x)if(x0)return(1);/返回出口 1 if(x0)return(-1);/返回出口 2 return(0);/返回出口 3 /main()函数定义 main()double x;int i;for(i=0;i=2;i+)coutx;coutsgn(x)=sgn(x)endl;#include/函数原型语句可以在这里/定义 main()函数 main()/max()函数原型声明语句 float max(float,float);/变量声明语句 float a,b,Max;/输入参数并计算 c
47、outa;coutb;Max=max(a,b);/调用 max()函数 coutmax(a,b)=Maxy)?x:y;return(z);#include /定义 f()函数 f(int x,int y)/f()的参数以值方式传递 整理为 word 格式 +x;-y;coutx=x,y=yendl;main()int a,b;/设置实际参数的值 a=b=10;/以变量为参数调用 f()函数 f(a,b);/验证实际参数的值 couta=a,b=bendl;/以表达式参数形式调用 f()函数 f(2*a,a+b);#include /定义公共结构类型 struct student int num
48、;char name10;float maths;float physics;float chemistry;double total;/定义结构输入函数 input_Rec(struct student*p)/参数为 student 类型的结构指针变量 cinp-num;cinp-name;cinp-maths;cinp-physics;cinp-chemistry;/定义结构数据交换函数 swap_Rec(struct student*p1,struct student*p2)struct student x;/交换两个记录的数据 x=*p1;*p1=*p2;*p2=x;/输出结构的值 p
49、ut_Rec(struct student*p)coutnumt;coutnamet;coutmathst;coutphysicst;coutchemistryt;couttotalendl;/定义 main()函数 main()int i,j;/声明结构指针变量和结构数组 struct student*p1,a3;/输入 3 个学生的数据并计算总成绩 coutnumtnametmathstphysicstchemistryendl;for(p1=a;p1total=p1-maths+p1-physics+p1-chemistry;/对 3 个学生的数据排序 for(i=0;i=2;i+)fo
50、r(j=i+1;j=2;j+)if(ai.totalaj.total)swap_Rec(&ai,&aj);/交换两个结构变量中的数据 cout-endl;/输出一分界线 /输出排序后的结构数组 coutnumtnametmathstphysicstchemistryttotalendl;for(p1=a;p1=a+2;p1+)put_Rec(p1);#include/定义结构 struct student char name10;float grade;/交换 student 类型的数据 void swap(student&x,student&y)/swap 的参数为引用传递方式 studen