结构体类型与共用体类型_第1页
结构体类型与共用体类型_第2页
结构体类型与共用体类型_第3页
结构体类型与共用体类型_第4页
结构体类型与共用体类型_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

结构体类型与共用体类型第1页,课件共73页,创作于2023年2月9.1结构体类型9.1.1结构体类型的定义结构体类型定义用关键字struct标识,形式为:struct标识符{成员表};第2页,课件共73页,创作于2023年2月例如,定义结构体类型,描述下列数据。

(1)学生情况,包含学生的学号、姓名、性别、年龄、C语言课程成绩:structstudent{intno;/*学号*/charname[8];/*姓名*/charsex;/*性别*/intage;/*年龄*/floatcscore;/*C成绩*/};第3页,课件共73页,创作于2023年2月如考虑30门课程成绩,加上总成绩与平均成绩,可作如下定义:structstudent{intno;/*学号*/charname[8];/*姓名*/charsex;/*性别*/intage;/*年龄*/floatscore[31];/*30门课程成绩*/floattcj,acj;/*总成绩,平均成绩*/};第4页,课件共73页,创作于2023年2月

(2)个人数据,包含姓名、性别、年龄、身高、体重、住址:structperson{charname[8];/*姓名*/charsex;/*性别*/intage;/*年龄*/floatheight;/*身高*/floatweight;/*体重*/charadd[40];/*住址*/};第5页,课件共73页,创作于2023年2月(3)平面上的点:structpoint2{floatx;/*横坐标*/floaty;/*纵坐标*/};如考虑空间中的点,可作如下定义:structpoint3{floatx;/*X坐标*/floaty;/*Y坐标*/floatz;/*Z坐标*/};第6页,课件共73页,创作于2023年2月(4)日期,包括年、月、日:structdate{intyear;/*年*/month;/*月*/day;/*日*/};如考虑时间,可作如下定义:structtime{inthh;/*时*/intmm;/*分*/intss;/*秒*/};

第7页,课件共73页,创作于2023年2月(5)复数:structcomplex{floatre;/*实部*/floatie;/*虚部*/};第8页,课件共73页,创作于2023年2月(6)三角形:structsjx{floata,b,c;/*三边*/};第9页,课件共73页,创作于2023年2月9.1.2结构体变量的定义

(1)先定义结构体类型,再定义结构体变量。形式为:①struct标识符

{成员表};②struct标识符变量表;例如,对以上定义的结构体类型,我们可以定义如下一些结构体变量:

structstudentzhang;/*张同学情况*/structpersonp[100];/*100个人的数据*/structpoint2p1,p2;/*平面上的两个点*/structpoint3po1,po2;/*空间上的两个点*/第10页,课件共73页,创作于2023年2月

(2)定义结构体类型的同时定义结构体变量。形式为:

struct标识符

{成员表}变量表;例如,对以上定义的结构体变量,我们可以在定义结构体类型的同时定义如下:

①structstudent{intno;

charname[8];

charsex;

intage;

floatcscore;}zhang;/*张同学情况*/第11页,课件共73页,创作于2023年2月②structperson{charname[8];charsex;intage;floatheight;floatweight;charadd[40];}p[100];/*100个人的数据*/第12页,课件共73页,创作于2023年2月③structpoint2{floatx;floaty;}p1,p2;/*平面上的两个点*/structpoint3{floatx;floaty;floatz;}po1,po2;/*空间上的两个点*/第13页,课件共73页,创作于2023年2月

(3)直接定义结构体变量。形式为:

struct{成员表}变量表;直接定义结构体变量,在关键字struct后无标识符,不出现结构体名,仅给出成员表及变量表。例如,对以上定义的结构体变量,我们可以直接定义如下:第14页,课件共73页,创作于2023年2月①struct{intno;

charname[8];

charsex;

intage;

floatcscore;}zhang;/*张同学情况*/第15页,课件共73页,创作于2023年2月②struct{charname[8];charsex;intage;floatheight;floatweight;charadd[40];}p[100];/*100个人的数据*/第16页,课件共73页,创作于2023年2月③struct{floatx;floaty;}p1,p2;/*平面上的两个点*/struct{floatx;floaty;floatz;}po1,po2;/*空间上的两个点*/第17页,课件共73页,创作于2023年2月如果重命名了结构体类型,则可以用新类型名来定义结构体变量。例如:typedefstruct{charname[8];charsex;intage;floatheight;floatweight;charadd[40];}persont;/*将结构体类型命名为persont*/persontp[100];/*100个人的数据*/第18页,课件共73页,创作于2023年2月9.1.3结构体变量的引用结构体的分量称为字段变量。字段变量通过结构体变量名、成员名(字段名)与点运算来描述。字段变量的形式为:结构体变量名.成员名例如:

(1)structstudent类型变量zhang,其所有分量如下:

zhang.no,,zhang.sex,zhang.age,zhang.cscore(2)structpoint2类型变量p1,其所有分量如下:

p1.x,p1.y(3)structpoint2类型变量p2,其所有分量如下:

p2.x,p2.y第19页,课件共73页,创作于2023年2月9.1.4结构体变量的初始化初始化格式:存储类别struct结构体名{成员表}结构体变量={初始化数据表};初始化数据表是相应成员的初值表。第20页,课件共73页,创作于2023年2月例如:(1)externstructstudent{intno;

charname[8];

intage;

floatcscore;}zhang={9901,″zhangsan″,′m′,19,95};

zhang.no初值9901,初值″zhangsan″,zhang.sex初值′m′,zhang.age初值19,zhang.cscore初值95。第21页,课件共73页,创作于2023年2月(2)staticstructpoint2{floatx;floaty;}p1={2.5,19.8};p1.x初值2.5,p1.y初值19.8。第22页,课件共73页,创作于2023年2月例9–1

求某同学上学期8门课程的总成绩与平均成绩。/*程序9-1,求某同学的总成绩与平均成绩*/main(){structst{charxm[8];

floatcj[9];

floattcj,acj;}stu;第23页,课件共73页,创作于2023年2月inti;scanf(″%s″,stu.xm);/*输入*/for(i=1;i<=8;i++)scan(″%f″,&stu.cj[i]);stu.tcj=0.0;/*求总成绩*/for(i=1;i<=8;i++)stu.tcj+=stu.cj[i];stu.acj=stu.tcj[i]/8;/*求平均成绩*/printf(″%s的总成绩=%6.2f,平均成绩=%6.2f″,stu.tcj,stu.acj);/*输出*/}输入数据:CHEN8086799888729666运行结果:CHEN的总成绩=577.00,平均成绩=72.13第24页,课件共73页,创作于2023年2月例9–2

求平面上两点之间的距离。/*程序9-2,求平面上两点之间的距离*/main(){structpoint{floatx;

floaty;

}p1,p2;

floatd;printf(″请输入第一点的坐标:″);scanf(″%f,%f″,&p1.x,&p1.y);printf(″请输入第二点的坐标:″);scanf(″%f,%f″,&p2.x,&p2.y);d=sqrt((p2.x-p1.x)*(p2.x-p1.x)+(p2.y-p1.y)*(p2.y-p1.y));printf(″两点之间的距离=%8.3f″,d);}第25页,课件共73页,创作于2023年2月运行结果:请输入第一点的坐标:1,1请输入第二点的坐标:3,3两点之间的距离=2.828第26页,课件共73页,创作于2023年2月例9–3

复数的加减运算。/*程序9-3,复数的加减运算*/main(){structcomplex{floatre;

floatie;

}x,y;/*输入变量*/structcomplexs1,s2;/*输出变量*/printf(″请输入第一个复数的实部,虚部:″);scanf(″%f,%f″,&x.re,&x.ie);printf(″请输入第二个复数实部,虚部:″);scanf(″%f,%f″,&y.re,&y.ie);s1.re=x.re+y.re;/*求和*/s1.ie=x.ie+y.ie;s2.re=x.re-y.re;/*求差*/s2.ie=x.ie-y.ie;printf(″所求复数的和=%8.3f+%8.3fi\n″,s1.re,s1.ie);printf(″所求复数的差=%8.3f+%8.3fi\n″,s2.re,s2.ie);}第27页,课件共73页,创作于2023年2月运行结果:请输入第一个复数的实部,虚部:3.2,4.3请输入第二个复数实部,虚部:2.1,3.1所求复数的和=5.3+7.5i所求复数的差=1.1+1.2i第28页,课件共73页,创作于2023年2月9.1.5结构体作函数参数例9–4

将例9-2中求平面上两点之间的距离改用函数实现。structpoint{floatx;

floaty;

};floatp1p2(p1,p2)/*求平面上两点之间距离的函数*/structpointp1,p2;{floatd;d=sqrt((p2.x-p1.x)*(p2.x-p1.x)+(p2.y-p1.y)*(p2.y-p1.y));return(d);}第29页,课件共73页,创作于2023年2月例9–5

将例9-3中复数的加减运算改用函数实现。/*程序9-5,采用函数实现复数的加减运算*/structcomplex{floatre;

floatie;};main(){structcomplexx,y;structcomplexs1,s2;structcomplexcsum();/*调用函数申明*/structcomplexcsub();printf(″请输入第一个复数的实部,虚部:″);scanf(″%f,%f″,&x.re,&x.ie);printf(″请输入第二个复数实部,虚部:″);scanf(″%f,%f″,&y.re,&y.ie);s1=csum(x,y);/*调用函数求和*/s2=csub(x,y);/*调用函数求差*/第30页,课件共73页,创作于2023年2月printf(″所求复数的和=%8.3f+%8.3fi\n″,s1.re,s1.ie);printf(″所求复数的差=%8.3f+%8.3fi\n″,s2.re,s2.ie);}structcomplexcsum(xx,xy)/*求两个复数和的函数*/structcomplexxx,xy;{structcomplext;t.re=xx.re+xy.re;t.ie=xx.ie+xy.ie;return(t);}structcomplexcsub(xx,xy)/*求两个复数差的函数*/structcomplexxx,xy;{structcomplext;t.re=xx.re-xy.re;t.ie=xx.ie-+xy.ie;return(t);}第31页,课件共73页,创作于2023年2月9.1.6嵌套结构体例如,在描述个人数据时,假如除了年龄,还需描述出生日期。我们需在前面的定义中增加一日期结构体成员,形成嵌套结构体类型person。structdate{intyear;month;day;};structperson{charname[8];charsex;intage;structdatebirthday;/*增加的结构体成员*/floatheight;floatweight;charadd[40];};第32页,课件共73页,创作于2023年2月我们也可采用如下的嵌套结构体形式:structperson{charname[8];charsex;intage;structdate{intyear;month;day;}birthday;/*增加的结构体成员*/floatheight;floatweight;charadd[40];};第33页,课件共73页,创作于2023年2月9.2结构体数组结构体数组的定义与结构体变量的定义一样有以下三种形式:(1)Struct标识符{成员表};

struct标识符数组名[常量];(2)struct标识符{成员表}数组名[常量];(3)struct{成员表}数组名[常量];第34页,课件共73页,创作于2023年2月例如,100个同学的情况,我们可以定义结构体数组allst描述:

structstudent{intno;

charname[8];

charsex;

intage;

floatscore[31];

floattcj,acj;}allst[100];

第35页,课件共73页,创作于2023年2月对结构体数组allst的操作要转化成对allst[i]进行操作,而allst[i]的操作要转化成对allst[i].no、allst[i].name、allst[i].sex、allst[i].age、allst[i].score、allst[i].tcj、allst[i].acj进行操作。allst[i].no、allst[i].name、allst[i].sex、allst[i].age、allst[i].score、allst[i].tcj、allst[i].acj相当于对应基类型的量。第36页,课件共73页,创作于2023年2月

例9–6

用结构体数组处理全班50个同学的C语言课程成绩。/*程序9-6,用结构体数组处理C语言成绩,排序输出*/#defineSTTstructstudentSTT{charxm[8];floatc;};main(){STTcs[51];/*存放50个同学的姓名、C成绩*/inti;intflag;STTt;/*排序时用于交换数据*/for(i=1;i<50;i++)/*输入50个同学的姓名、C成绩*/第37页,课件共73页,创作于2023年2月

scanf(″%s%f″,&cs[i].xm,&cs[i].c);do/*冒泡排序*/{flag=1;for(i=1;i<49;i++)

if(cs[i+1].c>cs[i].c)

{t=cs[i];cs[i]=cs[i+1];cs[i+1]=t;

flag=0;

}}while(!flag);printf(″排序后的C语言成绩如下:\n″);/*输出*/printf(″姓名分数名次\n″);for(i=1;i<50;i++)

printf(″%8s%6.1f%6d\n″,cs[i].xm,cs[i].c,i);

}第38页,课件共73页,创作于2023年2月

例9-7

假设有5个候选人,有20人参加投票,规定只能在5个候选人中选一个,多选或选这5人以外者均为废票。试用结构体数组编写程序,统计出5位候选人各人所得票数。/*程序9-7,统计候选人得票数*/structttt{charname[12];

intcount;};

main(){structtttdp[5]={{″Zhang″,0},{″Li″,0},{″Wang″,0},{″Liu″,0},{″Zhao″,0}};chartp[10];inti,j;for(i=1;i<=20;i++)第39页,课件共73页,创作于2023年2月

{scanf(″%s″,tp);

for(j=0;j<5;j++)

if(strcmp(tp,dp[i].name)==0)dp[j].count++;

}for(i=0;i<5;i++)

printf(″%s的得票数=%d\n″,dp[i].name,dp[i].count);}

输入数据:ZhangLiWangLiuZhaoZhaoLiLiZhangLiZhangLiLiuLiZhangLiuLiLiZhang运行结果:Zhang的得票数=5Li的得票数=8Wang的得票数=1Liu的得票数=3Zhao的得票数=2第40页,课件共73页,创作于2023年2月9.3共用体类型9.3.1共用体类型的定义共用体类型定义用关键字union标识,形式为:union标识符{成员表};第41页,课件共73页,创作于2023年2月标识符给出共用体名,是共用体类型名的主体,定义的共用体类型由“union标识符”标识。例如,定义一个共用体类型,要求包含一个整型成员,一个字符型成员和一个单精度型成员:unionicf{inti;charc;floatf;};

第42页,课件共73页,创作于2023年2月9.3.2共用体变量的定义(1)先定义共用体类型,再定义共用体变量:①union共用体名

{成员表};②union共用体名变量表;(2)定义共用体类型的同时定义共用体变量:union共用体名{成员表}变量表;(3)直接定义共用体变量:union{成员表}变量表;第43页,课件共73页,创作于2023年2月9.3.3共用体变量的引用共用体变量不能直接使用,只能使用里面的某个成员,其成员同样通过点运算描述。形式为:共用体变量名.成员名例如,定义上面共用体类型变量x,x占有4个字节的空间,x.i表示其整型成员,x.c表示其字符型成员,x.f表示其单精度型成员。第44页,课件共73页,创作于2023年2月说明:

(1)共用体变量中,可以包含若干个成员及若干种类型,但共用体成员不能同时使用。在每一时刻,只有一个成员及一种类型起作用,不能同时引用多个成员及多种类型。

(2)共用体变量中起作用的成员值是最后一次存放的成员值,即共用体变量所有成员共用同一段内存单元,后来存放的值将原先存放的值覆盖,故只能使用最后一次给定的成员值。

(3)共用体变量的地址和它的各个成员的地址相同。第45页,课件共73页,创作于2023年2月

(4)不能对共用体变量初始化和赋值,也不能企图引用共用体变量名来得到某成员的值。

(5)共用体变量不能作函数参数,函数的返回值也不能是共用体类型。

(6)共用体类型和结构体类型可以相互嵌套,共用体中成员可以为数组,甚至还可以定义共用体数组。第46页,课件共73页,创作于2023年2月

例9-8

设有若干教师的数据,包含有教师编号、姓名、职称,若职称为讲师,则描述他们的所讲课程,若职称为教授,则描述他们所写论文数目。/*程序9-8,输入输出教师信息*/unioncf{charclname[30];/*所讲课程*/intnum;/*论文数目*/};structteachers{intno;/*编号*/charname[12];/*姓名*/charzc;/*职称*/unioncfx;/*可变字段,为所讲课程或论文数目*/}teach[3];第47页,课件共73页,创作于2023年2月main(){inti;for(i=0;i<3;i++)

{scanf(″%d,%s,%c″,&teach[i].no,teach[i].name,&teach[i].zc);

if(teach[i].zc==′L′)/*L表示讲师*/scanf(″%s″,&teach[i].x.clname);

elseif(teach[i].zc==′P′)/*P表示教授*/scanf(″%d″,&teach[i].x.num);

elseprintf(″inputdataerror\n″);

}for(i=0;i<3;i++)

{printf(″%d%s%c″,teach[i].No,teach[i].name,teach[i].zc);第48页,课件共73页,创作于2023年2月

if(teach[i].zc==′L′)printf(″%s\n″,teach[i].x..clname);

elseif(teach[i].name==′P′)printf("%d\n",teach[i].x.num);elseprintf(″dataerror\n″);

}}第49页,课件共73页,创作于2023年2月9.4枚举类型9.4.1枚举类型的定义枚举类型定义用关键字enum标识,形式为:

enum标识符

{枚举数据表};标识符用来区分不同的枚举类型,定义的枚举类型用enum标识符”标识。枚举数据(枚举常量)是一些特定的标识符,标识符代表什么含义,完全由程序员决定。数据枚举的顺序规定了枚举数据的序号,从0开始,依次递增。第50页,课件共73页,创作于2023年2月例如:(1)定义枚举类型status,包含复制与删除两种状态:enumstatus{copy,delete};枚举类型status仅有两个数据,一个是copy,一个是delete,序号为0、1,代表复制与删除。第51页,课件共73页,创作于2023年2月

(2)定义枚举类型color,包含红、黄、蓝、白、黑五种颜色:

enumcolor{red,yellow,blue,white,black};枚举类型color有red、yellow、blue、white、black五个数据,序号为0、1、2、3、4,代表红、黄、蓝、白、黑五种颜色。第52页,课件共73页,创作于2023年2月

(3)定义枚举类型weekday,包含一周的七天:

enumweekday{sun,mon,tue,wed,thu,fri,sat};枚举类型weekday有sun、mon、tue、wed、thu、fri、sat七个数据,序号为0、1、2、3、4、5、6,代表一周中的星期天、星期一、星期二、星期三、星期四、星期五、星期六。在定义枚举类型时,程序员可在枚举数据时通过“=”号自己规定序号,并影响后面的枚举数据的序号,后继序号以此递增。例如:

enumstatus{copy=6,delete};则copy的序号为6,delete的序号为7。第53页,课件共73页,创作于2023年2月9.4.2枚举类型变量的定义(1)先定义枚举类型,再定义枚举类型变量:enum标识符{枚举数据表};enum标识符变量表;(2)在定义枚举类型的同时定义枚举类型变量:enum标识符{枚举数据表}变量表;(3)直接定义枚举类型变量:enum{枚举数据表}变量表;第54页,课件共73页,创作于2023年2月例如,对枚举类型enumcolor,定义枚举变量c1、c2:enumcolor{red,yellow,blue,white,black};

enumcolorc1,c2;或enumcolor{red,yellow,blue,white,black}c1,c2;或enum{red,yellow,blue,white,black}c1,c2;枚举类型数据可以进行赋值运算。枚举类型是有序类型,枚举类型数据还可以进行关系运算。枚举类型数据的比较转化成对序号进行比较,只有同一种枚举类型的数据才能进行比较。第55页,课件共73页,创作于2023年2月将枚举型数据按整型格式输出,可得到整数值(枚举变量值的序号)。使用强制类型转换,可将整数值(枚举值序号)转换成对应枚举值。例如:

c1=(enumcolor)2;/*c1得到枚举值blue*/

枚举类型数据不能直接输入输出。枚举类型数据输入时,先输入其序号,再进行强制类型转换完成。输出时,采用开关语句先进行判断,再转化成对应字符串输出。第56页,课件共73页,创作于2023年2月

例9–9

某口袋中有红、黄、蓝、白、黑五种颜色的球若干个,每次从口袋中取出三个球,问得到三种不同颜色的球有多少种取法,并输出每种组合结果。for(n=0,i=1;i<=5;i++)/*取第一个球*/for(j=1;j<=5;j++)/*取第二个球*/if(i!=j)/*第一个与第二个不同色*/{for(k=1;k<=5;k++)/*取第三个球*/if((k!=i)&&(k!=j))

{n++;/*统计有多少种取法*/printf(″%d,%d,%d\n″,i,j,k);/*输出一种取法*/}}不用枚举类型:第57页,课件共73页,创作于2023年2月采用枚举类型来描述数据。设用red表示红色球,yellow表示黄色球,blue表示蓝色球,white表示白色球,black表示黑色球。/*程序9-9,三种不同颜色球的取法*/main(){enumcolor{red,yellow,blue,white,black};

enumcolori,j,k,l;

intn,m;

for(n=0,i=red;i<=black;i++)

for(j=red;j<=black;;j++)

if(i!=j)

{for(k=red;k<=black;k++)第58页,课件共73页,创作于2023年2月

if((k!=i)&&(k![KG-*4]=j))

{n++;

printf(″%4d″,n);

for(m=1;m<=3;m++)

{switch(m)

{case1:1=i;berak;

case2:1=j;berak;

case3:1=k;berak;

}switch(l)/*间接输出*/{casered:printf(″%8s″,″red″),break;第59页,课件共73页,创作于2023年2月

caseyellow:printf(″%8s″,″yellow″);break;

caseblue:printf(″%8s″),″blue″);break;

casewhite:printf(″%8s″,″white″);break;;

caseblack:printf(″%8s″,″black″);break;

}}printf(″\n″);

}}printf(″总的取法有%d种\n″,n);}第60页,课件共73页,创作于2023年2月9.5程序设计举例

例9-10

编写程序,登录幼儿园200个小朋友的数据:编号、姓名、性别、年龄、身高、体重、出生日期、入园日期,分别按身高、年龄排序输出。/*程序9-10,幼儿园小朋友数据登录、排序*/#defineM200structdst{intyear;intmonth;intday;};第61页,课件共73页,创作于2023年2月structcst{intno;charname[12];charsex;floatage;floatheight;floatweight;dstbdate;dstedate;};structcstall[M];main(){voidinput();/*调用函数申明*/voidsort1();voidsort2();voidoutput();第62页,课件共73页,创作于2023年2月input();/*调用登录函数*/sort1();/*调用身高排序函数*/printf(″幼儿园小朋友一览(依身高排序):\n″);output();/*调用输出函数*/printf(″\n″);sort2();/*调用年龄排序函数*/printf(″幼儿园小朋友一览(依年龄排序):\n″);output();/*再次调用输出函数*/printf(″\n″);}voidinput()/*登录函数*/{inti;for(i=0;i<M;i++)

{printf(″依次输入第%d个小朋友的数据:\n″,i);

scanf(″%d%s%c%f%f%f%d%d%d%d%d%d″,&all[i].no,all第63页,课件共73页,创作于2023年2月[i].name,&all[i].sex,&all[i].age,&all[i].height,&all[i].weight,&all[i].bdate.year,&all[i].bdate.month,&all[i].bdate.day,&all[i].edate.year,&all[i].edate.month,&all[i].edate.day);

}}voidsort1()/*依身高排序函数*/{inti,j;intk;structcstt;for(i=0;i<M-1;i++)

{k=i;

for(j=i;j<M;j++)

if(all[j].height>all[k].height)k=j;

t=all[i];all[i]=all[k];all[k]=t;

}}第64页,课件共73页,创作于2023年2月voidsort1()/*依年龄排序函数*/{inti,j;intk;structcstt;for(i=0;i<M-1;i++)

{k=i;

for(j=i;j<M;j++)

if(all[j].age>all[k].age)k=j;

t=all[i];all[i]=all[k];all[k]=t;

}}voidoutput()/*输出函数*/{inti;第65页,课件共73页,创作于2023年2月printf(″编号姓名性别年龄身高体重出生日期入园日期\n″)for(i=0;i<M;i++)

{printf(″%4d%10s%8d%8.1f%8.2f%8.2f%4d,%2d%,2d%4d,%2d,%2d″,all[i].no,all[i].name,all[i].age,all[i].sex,all[i].height,all[i].weight,all[i].bdate.year,all[i].bdate.month,all[i].bdate.day,all[i].edate.year,all[i].edate.month,all[i].edate.day);

printf(″\n″);

}}第66页,课件共73页,创作于2023年2月例9-11

编写程序,实现复数的乘法运算。/*程序9-5,采用函数实现复数的乘法运算*/structcomplex{floatre;

floatie;};main(){structcomplexx,y;structcomplexm;structcomplexcompm();/*调用函数申明*/printf(″请输入第一个复数的实部,虚部:″);scanf(″%f,%f″,&x.re,&x.ie);printf(″请输入第二个复数实部,虚部:″);scanf(″%f,%f″,&y.re,&y.ie);m=compm(x,y);/*调用函数求积*/printf(″所求复数的积=%8.3f+%8.3fi\n″,s1.re,s1.ie);}第67页,课件共73页,创作于2023年2月structcomp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论