源代码C++程序设计基础案例教程吴艳清华大学出版社.docx
- 文档编号:11139699
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:143
- 大小:793.40KB
源代码C++程序设计基础案例教程吴艳清华大学出版社.docx
《源代码C++程序设计基础案例教程吴艳清华大学出版社.docx》由会员分享,可在线阅读,更多相关《源代码C++程序设计基础案例教程吴艳清华大学出版社.docx(143页珍藏版)》请在冰豆网上搜索。
源代码C++程序设计基础案例教程吴艳清华大学出版社
第2章C++简单程序设计
【例2-1】C++简单小程序应用案例。
题目:
要求用户输入一个矩形的长和宽,求其面积。
#include
voidmain()//函数头
{
inta,b,s;
cout<<"pleaseinputtwonumbers:
\n";
cin>>a>>b;
s=a*b;//求矩形面积,结果赋值给变量s
cout<<"theareais:
"<
}
【例2-2】变量定义语句的应用案例。
题目:
编写程序实现计算任意长、任意宽的矩形面积。
#include
voidmain()
{
doublex,y,area;//定义了三个双精度类型变量x、y、area
cin>>x>>y;//通过键盘任意输入两个双精度数给矩形的长和宽
area=x*y;
cout<<"theareais:
"<
}
其运行结果为:
【例2-3】define定义符号常量的应用案例。
题目:
利用define命令定义符号常量,验证符号常量的应用。
#include
#definePI3.14
voidmain()
{
doubler,area;
cin>>r;//通过键盘任意输入一个双精度数给作为圆的半径值
area=PI*r*r;//编译后area=3.14*r*r
cout<<"theareais:
"<
}
其运行结果为:
【例2-5】输出格式控制的应用案例。
题目:
格式输出控制符的验证。
#include
voidmain()
{
inta,b,c,d,e;
cout<<"pleaseinputfivenumbers(a-dec,b-oct,c-hex,d-hex,e-dec):
"< cin>>a; cin>>oct>>b; cin>>hex>>c; cin>>d; cin>>dec>>e; cout<<"hex: a="< cout<<"dec: b="< cout<<"dec: c="< cout<<"oct: d="< cout<<"oct: e="< cout< } 程序运行时,输入: 1217a2ff10 其运行结果为: 第3章程序设计结构 【例3-1】顺序结构的应用案例1。 题目: 要求用户通过键盘输入一直角三角形的底长和高,然后计算出此直角三角形的面积。 #include voidmain() { floatx,h,area; cout<<”pleaseinputtwonumbers: ”< cin>>x>>h; cout<<”x=”< area=1.0/2*x*h; cout<<”area=”< } 其运行结果为: 【例3-2】顺序结构应用案例2。 题目: 通过程序设计实现求任意两个实型数据的和。 #include voidmain() { floatx,y,add; cout<<”pleaseinputtwonumbers: ”< cin>>x>>y; cout<<”x=”< add=x+y; cout< } 其运行结果为: 【例3-3】单分支结构应用案例1。 题目: 通过键盘输入任意两个整数,输出较大的数。 #include voidmain() { inta,b,max; cout<<”请输入两个数字: ”; cin>>a>>b; if(a>b) max=a; if(a<=b) max=b; cout<<”两个数中较大的是: ”< } 其运行结果为: 【例3-4】单分支结构应用案例2。 题目: 通过键盘输入任意两个整数,要求第一个数中放大数,第二个数中放小数。 #include voidmain() { inta,b,t; cout<<”请输入两个数字: ”; cin>>a>>b; cout<<”交换前的结果: ”< if(a { t=a; a=b; b=t; } cout<<”交换后的结果: ”< } 其运行结果为: 【例3-5】双分支结构应用案例1。 题目: 利用双分支结构改写【例3-3】,实现两个数中输出较大数。 #include voidmain() { inta,b,max; cout<<”请输入两个数字: ”; cin>>a>>b; if(a>b) max=a; else max=b; cout<<”两个数中较大的是: ”< } 其运行结果为: 【例3-6】双分支结构应用案例2。 题目: 通过键盘输入任意一个年份,判断该年份是否为闰年。 (闰年的条件是: 年份可以被4整除但是不能被100整除,或者年份可以被400整除)。 #include voidmain() { intyear; cout<<”请输入一个年份(四位): ”; cin>>year; if((year%4==0&&year%100! =0)||(year%400==0)) cout< ”< else cout< ”< } 运行结果为: 【例3-7】多分支结构的应用案例1。 题目: 将键盘输入的百分制成绩转换成五级计分制的成绩输出。 五级计分制成绩确定规则: ’A’(90~100)、’B’(80~89)、’C’(70~79)、’D’(60~69)、’E’(60分以下,不包括60) #include voidmain() {intscore; chargrade; cout<<”请输入一个分数值(0~100): ”; cin>>score; if(score>=90&&score<=100) grade=’A’; elseif(score>=80&&score<=89) grade=’B’; elseif(score>=70&&score<=79) grade=’C’; elseif(score>=60&&score<=69) grade=’D’; else grade=’E’; cout< ”< } 其运行结果为: 【例3-8】多分支结构的应用案例2。 题目: 用户通过键盘输入任意一个年份与月份,自动显示该年的当月所包含的天数。 #include voidmain() { intyear,month,day; cout<<”请输入一个年份(四位): ”; cin>>year; cout<<”请输入一个月份: ”; cin>>month; if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) day=31; elseif(month==4||month==6||month==9||month==11) day=30; else { if(year%4==0&&year%100! =0) day=29; else day=28; } cout< } 其运行结果为: 【例3-9】多分支结构应用案例3。 题目: 修改例3-7,利用开关语句实现成绩的等级。 #include voidmain() {intscore; chargrade; cout<<”pleaseinputascore: ”; cin>>score; switch(score/10) { case10: case9: grade=’A’;break;//若score/10结果为10,则执行case9后的语句序列 case8: grade=’B’;break; case7: grade=’C’;break; case6: grade=’D’;break; default: grade=’E’; } cout<<”thegradeofscoreis: ”< } 其运行结果为: 【例3-10】多分支结构应用案例4。 题目: 设计一个小型计算器,能够实现加、减、乘、除和乘方的运算。 #include #include voidmain() { floatx1,x2; charop; cout<<”请输入两个数值: ”; cin>>x1>>x2; cout<<”请输入一个运算符: ”; cin>>op; switch(op)//字符类型表达式 { case'+': cout< case'-': cout< case'*': cout< case'/': cout< case'^': cout< default: cout<<"theerrorofoperator! "< } } 其运行结果为: 【例3-11】多分支结构应用案例5。 题目: 应用枚举类型值进行输入值的判断,通过输入0显示“male”,输入1显示 “female”。 #include voidmain() { enumsex{male,female}s; intn; cout<<”请输入一个整数(0—male,1—female): ”; cin>>n; switch(n) { case0: s=male;break;//0对应的male,1对应的female case1: s=female;break; default: cout<<”您的输入错误! \n”; } switch(s) { casemale: cout<<”male\n”;break;//注意break语句的使用 casefemale: cout<<”female\n”; } } 其运行结果为: 例3-12】循环结构应用案例1。 题目: 用for循环实现就1~100之间所有偶数的和。 #include voidmain() { inti=0,sum=0; for(;i<=100;)//表达式1和表达式3省略 { sum+=i; i=i+2; } cout<<”sum=”< } 其运行结果为: 【例3-13】循环结构应用案例2。 题目: 输出所有的“水仙花数”。 所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。 (例如,13+53+33=153,153是水仙花数) #include voidmain() { inti,j,k,n; cout<<”水仙花数有: ”; for(n=100;n<1000;n++) { i=n/100; j=n/10-i*10; k=n%10; if(n==i*i*i+j*j*j+k*k*k) cout< } cout< } 其运行结果为: 【例3-14】循环结构应用案例3。 题目: 用while循环实现就1~100之间所有偶数的和。 #include voidmain() { inti=0,sum=0; while(i<=100) { sum+=i; i=i+2; } cout<<”sum=”< } 其运行结果为: 【例3-15】循环结构应用案例4。 题目: 编写程序,实现求任意两个正整数的最大公约数和最小公倍数。 #include voidmain() { intm,n,r,temp,p; cout<<”请输入两个数值: ”; cin>>m>>n; if(m { temp=m; m=n; n=temp; } p=m*n; while(n! =0) { r=m%n; m=n; n=r; } cout<<”最大公约数是: ”< cout<<”最小公倍数是: ”< } 其运行结果为: 【例3-16】循环结构应用案例5。 题目: 用do……while循环结构实现1~100之间所有偶数的和。 #include voidmain() { inti=0,sum=0; do { sum+=i; i=i+2; }while(i<=100); cout<<”sum=”< } 其运行结果为: 【例3-17】循环结构应用案例6。 题目: 制作一个小游戏,要求: 系统自动生成0~50之间的随机数x,用户去猜其具体的数值。 要求: (1)若用户猜的数值大于该数,则提示大于该数。 (2)若用户猜的数值小于该数,则提示小于该数。 #include #include voidmain() { intmin=0,max=50; intx,y; x=rand()%50; cout<<"系统已经生成随机数(0~50),请您输入您猜测的数据: "; do { cin>>y; if(y>x) { max=y; cout<<"当前数值范围为: "< } elseif(y { min=y; cout<<"当前数值范围为: "< } else cout<<"您猜对了,您非常棒! "< }while(true); } 其运行结果为: 【例3-18】break语句的应用案例。 题目: 编程实现模拟ATM机的执行流程。 #include #include voidmain() { intpassword,Id; cout<<"****************进入自动提款系统****************"< cout<<"\n请输入密码: "; cin>>password; if(password==142536) cout<<"\n欢迎您使用ATM系统,请按键选择您所需要的服务"< else { cout<<"\n您的密码错误,请重新输入"< exit (1); } cout<<"\n1: 查询"< cout<<"\n2: 取款"< cout<<"\n3: 存款"< cout<<"\n4: 退出"< cout<<"\n请输入您的选择: "; cin>>Id; switch(Id) { case1: cout<<"进行查询操作中......"< case2: cout<<"进行取款操作中......"< case3: cout<<"进行存款操作中......"< case4: exit (1); default: cout<<"您的输入有误! "< } } 其运行结果为: 【例3-19】continue语句的应用案例。 题目: continue语句应用在循环语句中,验证continue语句的功能。 #include voidmain() { intx=1,n=10; while(n-->=0) { if(x>4) continue;//若x>4成立则结束本次循环做一下循环 cout< } cout< cout<<"x="< } 其运行结果为: 【例3-20】goto语句的应用案例。 题目: 利用goto语句实现求1~100之内偶数的和。 #include voidmain() { inti,sum=0; i=0; a: i=i+2; sum+=i; if(i<100) gotoa; cout<<"sum="< } 其运行结果为: 【例3-21】结构嵌套的应用案例1。 题目: 若一个数恰好等于它的因子之和,则这个数称为完数。 编写程序输出100以内的所有完数。 (如,1+2+3=6,而1、2、3是6的因子,所以说6是完数)。 #include voidmain() { inti,j,s; for(i=2;i<=100;i++) { s=0; for(j=1;j if(i%j==0) s+=j; if(s==i) cout< ”< } } 其运行结果为: 【例3-22】结构嵌套的应用案例2。 题目: 求15个学生英语课程的平均分。 #include voidmain() { inti; floatsum=0,ave,score[15]; cout<<”请输入15个学生的高数成绩: ”; for(i=0;i<15;i++) cin>>score[i]; for(i=0;i<15;i++) sum+=score[i]; ave=sum/15; cout<<”这15个学生高数课程的平均分为: ”< } 其运行结果为: 【例3-23】结构嵌套的应用案例3。 题目: 结构嵌套中break和continue语句的应用。 #include voidmain() { inti,x=1,y=0; for(i=0;i<10;i++) { x+=3; if(x>5) { cout<<"**x="< continue; } y=x+5; cout<<"x="< } } 其运行结果为: 若将上例中的continue语句改成break语句,则运行结果为: 【例3-24】结构嵌套的应用案例4。 题目: 有n个数,已按由小到大顺序排列好,要求输入一个数,把它插入到原有数列中,而且仍然保持有序,同时输出新的数列。 分析: 通常插入算法应包含四个主要步骤: (1)确定插入位置。 (2)把从最后一个元素到插入位置的每一个元素中的值,依次向后移动一个位置,即把a[n]中的值放入a[n+1]中,把a[n-1]中的值放入a[n]中,依此类推,直到把a[i]中的值放入a[i+1]中。 (3)在确定的插入位置上放入x的值。 (4)元素的个数增1。 #include voidmain() { inti,n,j; inta[11]={12,27,35,41,53,67,74,80,96,100}; cout<<"原数列为: "< for(i=0;i<10;i++) cout< cout< cout<<"输入插入数: "< cin>>n; j=9; while(j>=0&&n { a[j+1]=a[j]; j--; } a[j+1]=n; cout<<"插入后的数组:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 源代码 C+ 程序设计 基础 案例 教程 清华大学出版社
![提示](https://static.bdocx.com/images/bang_tan.gif)