第十一章结构与联合复习.ppt
上传人:sy****28 上传时间:2024-09-14 格式:PPT 页数:16 大小:1.2MB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

第十一章结构与联合复习.ppt

第十一章结构与联合复习.ppt

预览

免费试读已结束,剩余 6 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

结构复习结构复习inta[100],*pa[100];for(i=0;i<n;i++){scanf(“%d”,&a[i]);pa[i]=&a[i];}for(i=0;i<n-1;i++)for(j=0;j<n-i-1;j++)if(*pa[j]>*pa[j+1]){temp=pa[j];pa[j]=pa[j+a];pa[j+1]=temp;}指针数组pa的下标表示整数从小到大的顺序。下一步解决相同的整数有相同的编号。数组b的元素保存指针数组pa元素所指向的目标变量的编号。b[0]=1;if(*pa[i]==*pa[i-1])b[i]=b[i-1];elseb[i]=b[i-1]+1;输出显示问题:for(i=0;i<n;i++)printf(“%4d”,a[i]);for(i=0;i<n;i++)for(j=0;j<n;j++)if(pa[j]==&a[i])printf(“%4d”,b[j]);main(){inti,j,n,a[100],*pa[100],*temp,b[100];printf("\nPleaseentern:");scanf("%d",&n);for(i=0;i<n;i++){printf("a[%d]=",i);scanf(“%d”,&a[i]);/*输入整数*/pa[i]=&a[i];/*指向数组元素*/for(i=0;i<n;i++)/*输出整数*/printf("%4d",*pa[i]);printf("\n");for(i=0;i<n-1;i++)for(j=0;j<n-i-1;j++)if(*pa[j]>*pa[j+1]){temp=pa[j];pa[j]=pa[j+1];pa[j+1]=temp;}b[0]=1;for(i=1;i<n;i++)if(*pa[i]==*pa[i-1])b[i]=b[i-1];elseb[i]=b[i-1]+1;for(i=0;i<n;i++)for(j=0;j<n;j++)if(&a[i]==pa[j])printf("%4d",b[j]);}Structbianhao{int*pa;intb;};Structbianhaopb[7];例C11_03:可用结构表示学生的学号和成绩,编写程序,对班中30名学生按成绩进行排序,并输出排序后的学号、成绩和全班平均分。#defineSTNUM5structstuinf{intstid;/*学生学号*/intscore;/*学生成绩*/}stu[STNUM];/*stu:结构数组*/main(){structstuinf*ptemp,*p[STNUM];/*结构指针数组*/inti,j,k,sum=0;for(i=0;i<=STNUM-1;i++){scanf("%d%d",&stu[i].stid,&stu[i].score);p[i]=&stu[i];sum+=stu[i].score;}结构复习结构复习例C11_04:编写一个模拟人工洗牌使用结构card来描述一张牌,用随机函数来模拟人工洗牌的过程,最后将洗好的52张牌顺序分别发给四个人。structcard{intpips;/*从1到13。1:A,11:J,12:Q,13:K*/charsuit;/*牌的花色C:梅花D:方块H:红心S:黑桃*/};structcarddeck[]={{1,'C'},{2,'C'},{3,'C'},{4,'C'},{5,'C'},{6,'C'},{7,'C'},{8,'C'},{9,'C'},{10,'C'},{11,'C'},{12,'C'},{13,'C'},{1,'D'},{2,'D'},{3,'D'},{4,'D'},{5,'D'},{6,'D'},{7,'D'},{8,'D'},{9,'D'},{10,'D'},{11,'D'},{12,'D'},{13,'D'},{1,'H'},{2,'H'},{3,'H'},{4,'H'},{5,'H'},{6,'H'},{7,'H'},{8,'H'},{9,'H'},{10,'H'},{11,'H'},{12,'H'},{13,'H'},{1,'S'},{2,'S'},{3,'S'},{4,'S'},{5,'S'},{6,'S'},{7,'S'},{8,'S'},{9,'S'},{10,'S'},{11,'S'},{12,'S'},{13,'S'}};/*初始化一副牌*/shuffle(deck)/*模拟人工洗牌的过程*/structcarddeck[];/*形式参