《C++程序设计教程 第2版》教学素材习题08答案.docx

上传人:b****5 文档编号:11622840 上传时间:2023-03-29 格式:DOCX 页数:13 大小:16.62KB
下载 相关 举报
《C++程序设计教程 第2版》教学素材习题08答案.docx_第1页
第1页 / 共13页
《C++程序设计教程 第2版》教学素材习题08答案.docx_第2页
第2页 / 共13页
《C++程序设计教程 第2版》教学素材习题08答案.docx_第3页
第3页 / 共13页
《C++程序设计教程 第2版》教学素材习题08答案.docx_第4页
第4页 / 共13页
《C++程序设计教程 第2版》教学素材习题08答案.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

《C++程序设计教程 第2版》教学素材习题08答案.docx

《《C++程序设计教程 第2版》教学素材习题08答案.docx》由会员分享,可在线阅读,更多相关《《C++程序设计教程 第2版》教学素材习题08答案.docx(13页珍藏版)》请在冰豆网上搜索。

《C++程序设计教程 第2版》教学素材习题08答案.docx

《C++程序设计教程第2版》教学素材习题08答案

习题8答案

1.参考答案

#include

#include

#include

#defineN4

structstudent

{

charnum[10];

charname[20];

intsc;

};

voidmain()

{

voidInput(studentstuds[],intn);

voidOutput(studentstuds[],intn);

intMax(studentstuds[],intn);

inti;

studentstuds[N];

Input(studs,N);

i=Max(studs,N);

Output(studs,N);

cout<<"×î¸ß·ÖѧÉúµÄѧÉúÐÅϢΪ£º"<

cout<

cout<

cout<

}

voidInput(studentstuds[],intn)

{

inti;

for(i=0;i

{

cout<<"ÇëÊäÈëµÚ"<

";

cin>>studs[i].num;

cout<<"ÇëÊäÈëµÚ"<

";

cin>>studs[i].name;

cout<<"ÇëÊäÈëµÚ"<

";

cin>>studs[i].sc;

}

}

voidOutput(studentstuds[],intn)//×¢Ò⺯Êý¶¨ÒåµÄ·½·¨,Êä³ö½á¹ûÒªÕûÆë»®Ò»

{

inti;

cout<

for(i=0;i

{

cout<

cout<

cout<

}

}

intMax(studentstuds[],intn)

{

inti,k;

k=0;

for(i=1;i

if(studs[k].sc

k=i;

returnk;

}

2.参考答案

#include

#include

intdaytab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},

{0,31,29,31,30,31,30,31,31,30,31,30,31}};

structdata

{

intyear,month,day;

}dt;

intday_of_year(intyear,intmonth,intday)

{

inti,leap;

leap=((year%4==0&&year%100!

=0)||year%400==0);

for(i=1;i

day+=daytab[leap][i];

returnday;

}

voidinver(chars[],int&year,int&month,int&day)

{

inti=0;

while(isdigit(s[i]))

{

year=year*10+s[i]-'0';

i++;

}

i++;

while(isdigit(s[i]))

{

month=month*10+s[i]-'0';

i++;

}

i++;

while(isdigit(s[i])&&s[i])

{

day=day*10+s[i]-'0';

i++;

}

}

voidmain()

{

chars[20];

cout<<"输入日期(年-月-日):

";

cin>>s;

dt.year=0;

dt.month=0;

dt.day=0;

inver(s,dt.year,dt.month,dt.day);

cout<

}

3.参考答案

#include

#include

#include

#defineN4

structstudent

{

charnum[10];

charname[20];

intsc[5];

intaver;

};

voidmain()

{

voidInput(studentstuds[],intn);

voidOutput(studentstuds[],intn);

studentstuds[N];

Input(studs,N);

Output(studs,N);

}

voidInput(studentstuds[],intn)

{

inti,j;

for(i=0;i

{

cout<<"请输入第"<

";

cin>>studs[i].num;

cout<<"请输入第"<

";

cin>>studs[i].name;cout<<"请输入第"<

";

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

cin>>studs[i].sc[j];

}

}

voidOutput(studentstuds[],intn)

{

inti,j;

cout<

cout<

for(i=0;i

{

cout<

cout<

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

cout<

cout<

}

}

4.#include

#include

#include

#defineN4

structaddress_list

{

charnum[10];

charname[20];

charaddr[80];

intphonenum;

charmobilenum[10];

charemail[30];

};

voidmain()

{

voidInput(address_liststuds[],intn);

voidOutput(address_liststuds[],intn);

address_liststuds[N];

Input(studs,N);

Output(studs,N);

}

voidInput(address_liststuds[],intn)

{

inti;

for(i=0;i

{

cout<<"请输入第"<

";

cin>>studs[i].num;

cout<<"请输入第"<

";

cin>>studs[i].name;

cout<<"请输入第"<

";

cin>>studs[i].addr;

cout<<"请输入第"<

";

cin>>studs[i].phonenum;

cout<<"请输入第"<

";

cin>>studs[i].mobilenum;

cout<<"请输入第"<

";

cin>>studs[i].email;

}

}

voidOutput(address_liststuds[],intn)

{

inti;

cout<

cout<

for(i=0;i

{

cout<

cout<

cout<

cout<

}

}

5.#include

#include

structcoordinate

{

doublex;

doubley;

doublez;

};

voidmain()

{

voidPrint(coordinatex);

coordinateInput();

doubledistance(coordinatex,coordinatey);

coordinatea,b;

doubledist;

cout<<"请输入第1个点的坐标:

"<

a=Input();

cout<<"请输入第2个点的坐标:

"<

b=Input();

dist=distance(a,b);

cout<<"第1个点的坐标:

";

Print(a);

cout<<"第2个点的坐标:

";

Print(b);

cout<<"这两点的距离为:

"<

}

coordinateInput()

{

coordinatea;

cout<<"请输入该坐标的x点:

";

cin>>a.x;

cout<<"请输入该坐标的y点:

";

cin>>a.y;

cout<<"请输入该坐标的z点:

";

cin>>a.z;

returna;

}

voidPrint(coordinatea)

{

cout<<"("<

}

doubledistance(coordinatea,coordinateb)

{

doubledist;

dist=sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)+(a.z-b.z)*(a.z-b.z));

returndist;

}

6.参考答案

#include

#include

structcomplex

{

doublereal;

doubleimag;

};

voidmain()

{

voidPrint(complex&x);

voidInput(complex&x);

complexadd(complexx,complexy);

complexsub(complexx,complexy);

complexx,y,z;

cout<<"请输入第1个复数:

"<

Input(x);

cout<<"请输入第2个复数:

"<

Input(y);

cout<<"第1个复数为:

";

Print(x);

cout<<"第2个复数为:

";

Print(y);

z=add(x,y);

cout<<"相加后的复数为:

";

Print(z);

z=sub(x,y);

cout<<"相减后的复数为:

";

Print(z);

}

voidInput(complex&x)

{

cout<<"请输入复数的实部:

";

cin>>x.real;

cout<<"请输入复数的虚部:

";

cin>>x.imag;

}

voidPrint(complex&x)

{

cout<

if(x.imag>0)cout<<'+';

cout<

}

complexadd(complexx,complexy)

{

complexz;

z.real=x.real+y.real;

z.imag=x.imag+y.imag;

returnz;

}

complexsub(complexx,complexy)

{

complexz;

z.real=x.real-y.real;

z.imag=x.imag-y.imag;

returnz;

}

7.参考答案

#include

voidmain()

{

intn;

enum{sun,mon,tue,wed,thu,fri,sat}day;

charweekday[7][7]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};

cout<<"输入间隔天数:

";

cin>>n;

day=sun;

cout<<"今天是"<

}

8.#include

#include

voidmain()

{

enumcolor{Red,Blue,Green};

colori,j,k,pri;

intn,loop;

n=0;

for(i=Red;i<=Green;i=color(int(i)+1))

for(j=Red;j<=Green;j=color(int(j)+1))

if(i!

=j)

{

for(k=Red;k<=Green;k=color(int(k)+1))

if((k!

=i)&&(k!

=j))

{

n=n+1;

cout<

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

{

switch(loop)

{

case1:

pri=i;break;

case2:

pri=j;break;

case3:

pri=k;break;

default:

break;

}

switch(pri)

{

caseRed:

cout<

caseBlue:

cout<

caseGreen:

cout<

default:

break;

}

}

cout<

}

}

cout<

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 军事政治

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1