C++语言程序设计课后答案.docx
- 文档编号:2096316
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:15
- 大小:17.59KB
C++语言程序设计课后答案.docx
《C++语言程序设计课后答案.docx》由会员分享,可在线阅读,更多相关《C++语言程序设计课后答案.docx(15页珍藏版)》请在冰豆网上搜索。
C++语言程序设计课后答案
第二章C++简单程序设计
2-10执行完下列语句后,a、b、c三个变量的值为多少?
a=30;
b=a++;
c=++a;
解:
a:
32;b:
30;c:
32;
2-13写一条for语句,计数条件为n从100到200,步长为2;然后用while和do…while语句完成同样的循环。
解:
for循环:
for(intn=100;n<=200;n+=2);
while循环:
intx=100;
while(n<=200)
n+=2;
do…while循环:
intn=100;
do
{
n+=2;
}while(n<=200);
2-17修改下面这个程序中的错误,改正后它的运行结果是什么?
#include<>
voidmain()
inti
intj;
i=10;/*给i赋值
j=20;/*给j赋值*/
cout<<"i+j=<
return0;
}
解:
改正:
#include<>
intmain()
{
inti;
intj;
i=10;09:
;<>?
@ABCDEFGHIJKLMNOP_QRSTUVWXYZ[\]^'abcdefghijklmnopqrstuvwxyz<|>~s
2-21运行下面的程序,观察其输出,与你的设想是否相同?
#include<>
intmain()
{
unsignedintx;
unsignedinty=100;
unsignedintz=50;
x=y-z;
cout<<"Differenceis:
"< x=z-y; cout<<"\nNowdifferenceis: "< return0; } 解: 程序运行输出: Differenceis: 50 Nowdifferenceis: 46 注意,第二行的输出并非-50,注意x、y、z的数据类型。 2-22运行下面的程序,观察其输出,体会i++与++i的差别。 #include<> intmain() { intmyAge=39;n"; cout<<"Youare: "< myAge++;.\n"; cout<<"Iam: "< cout<<"Youare: "< cout<<"Anotheryearpasses\n"; cout<<"Iam: "< cout<<"Youare: "<<++yourAge<<"yearsold\n"; cout<<"Let'sprintitagain.\n"; cout<<"Iam: "< cout<<"Youare: "< return0; } 解: 程序运行输出: Iam39yearsold Youare39yearsold Oneyearpasses Iam40yearsold Youare40yearsold Anotheryearpasses Iam40yearsold Youare41yearsold Let'sprintitagain Iam41yearsold Youare41yearsold 2-28编写一个完整的程序,实现功能: 向用户提问"现在正在下雨吗? ",提示用户输入Y或N。 若输入为Y,显示"现在正在下雨。 ";若输入为N,显示"现在没有下雨。 ";否则继续提问"现在正在下雨吗? " 解: 源程序: #include<> #include<> voidmain() { charflag; while (1) { cout<<"现在正在下雨吗? (YesorNo): "; cin>>flag; if(toupper(flag)=='Y') { cout<<"现在正在下雨。 "; break; } if(toupper(flag)=='N') { cout<<"现在没有下雨。 "; break; } } } 程序运行输出: 现在正在下雨吗? (YesorNo): x 现在正在下雨吗? (YesorNo): l 现在正在下雨吗? (YesorNo): q 现在正在下雨吗? (YesorNo): n 现在没有下雨。 或: 现在正在下雨吗? (YesorNo): y 现在正在下雨。 2-29编写一个完整的程序,运行时向用户提问"你考试考了多少分? (0~100)",接收输入后判断其等级,显示出来。 规则如下: 解: #include<> voidmain() { inti,score; cout<<"你考试考了多少分? (0~100): "; cin>>score; if(score>100||score<0) cout<<"分数值必须在0到100之间! "; else { i=score/10; switch(i) { case10: case9: cout<<"你的成绩为优! "; break; case8: cout<<"你的成绩为良! "; break; case7: case6: cout<<"你的成绩为中! "; break; default: cout<<"你的成绩为差! "; } } } 程序运行输出: 你考试考了多少分? (0~100): 85 你的成绩为良! 2-31用穷举法找出1~100间的质数,显示出来。 分别使用while,do-while,for循环语句实现。 解: 源程序: 使用while循环语句: #include<> #include<> voidmain() { inti,j,k,flag; i=2; while(i<=100) { flag=1; k=sqrt(i); j=2; while(j<=k) { if(i%j==0) { flag=0; break; } j++; } if(flag) cout< i++; } } 使用do…while循环语句: #include<> #include<> voidmain() { inti,j,k,flag; i=2; do{ flag=1; k=sqrt(i); j=2; do{ if(i%j==0) { flag=0; break; } j++; }while(j<=k); if(flag) cout< i++; }while(i<=100); } 使用for循环语句: #include<> #include<> voidmain() { inti,j,k,flag; for(i=2;i<=100;i++) { flag=1; k=sqrt(i); for(j=2;j<=k;j++) { if(i%j==0) { flag=0; break; } } if(flag) cout< } } 程序运行输出: 2是质数. 3是质数. 5是质数. 7是质数. 11是质数. 13是质数. 17是质数. 19是质数. 23是质数. 29是质数. 31是质数. 37是质数. 41是质数. 43是质数. 47是质数. 53是质数. 59是质数. 61是质数. 67是质数. 71是质数. 73是质数. 79是质数. 83是质数. 89是质数. 97是质数. 2-33定义一个表示时间的结构体,可以精确表示年、月、日、小时、分、秒;提示用户输入年、月、日、小时、分、秒的值,然后完整地显示出来。 解: 源程序见"实验指导"部分实验二 2-34在程序中定义一个整型变量,赋以1~100的值,要求用户猜这个数,比较两个数的大小,把结果提示给用户,直到猜对为止。 分别使用while、do…while语句实现循环。 解: nNumberone: "; cin>>one; cout<<"Numbertwo: "; cin>>two; answer=Divider(one,two); if(answer>-1) cout<<"Answer: "< else cout<<"Error,can'tdividebyzero! "; return0; } 程序运行输出: Entertwonumbers. Numberone: 8 Numbertwo: 2 Answer: 4 3-8编写函数把华氏温度转换为摄氏温度,公式为: C=(F-32)*5/9;在主程序中提示用户输入一个华氏温度,转化后输出相应的摄氏温度。 解: 源程序见"实验指导"部分实验三 3-10编写函数求两个整数的最大公约数和最小公倍数。 解: 源程序: #include<> #include<> intfn1(inti,intj);voidPrintNameOf();}; Document: : Document(char*name) { Name=newchar[strlen(name)+1]; strcpy(Name,name); }; voidDocument: : PrintNameOf() { cout< } classBook: publicDocument { public: Book(char*name,longpagecount); voidPrintNameOf(); private: longPageCount; }; Book: : Book(char*name,longpagecount): Document(name) { PageCount=pagecount; } voidBook: : PrintNameOf() { cout<<"Nameofbook: "; Document: : PrintNameOf(); } voidmain() { Documenta("Document1"); Bookb("Book1",100); (); } 程序运行输出: Nameofbook: Book1 7-9定义基类Base,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 语言程序设计 课后 答案