C++上机上.docx
- 文档编号:5268418
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:31
- 大小:24.71KB
C++上机上.docx
《C++上机上.docx》由会员分享,可在线阅读,更多相关《C++上机上.docx(31页珍藏版)》请在冰豆网上搜索。
C++上机上
C++程序设计语言上机试题
一、熟悉上机编译环境
1、输出一行字符:
“Iam20yearsold.”。
解:
#include
usingnamespacestd;//使用命名空间std
intmain()
{cout<<″ThisisaC++program.″;
return0;
}
2、求a和b两个数之和。
解:
#include
usingnamespacestd;//使用命名空间std
intmain()//主函数首部
{//函数体开始
inta,b,sum;//定义变量
cin>>a>>b;//输入语句
sum=a+b;//赋值语句
cout<<″a+b=″< return0;//如程序正常结束,向操作系统返回一个零值 } 3、编写一个程序输出以下信息: ********************* Happynewyear! ********************* 解: #include main() {cout<<"********************"< cout<<"Happynewyear! "< cout<<"**********************";} 4、求a,b,c三个数之积。 解: #include usingnamespacestd;//使用命名空间std intmain()//主函数首部 {//函数体开始 inta,b,c,s;//定义变量 cin>>a>>b>>c;//输入语句 s=a*b*c;//赋值语句 cout<<″a*b*c=″< return0;//如程序正常结束,向操作系统返回一个零值 } 5、试编写一个程序,要求输出两个数中较小者。 解: #include main() {inta,b; cin>>a>>b; if(a>b) cout<<”Theminis”< else cout<<”Theminis”< } 二、数据、操作符和表达式 6、请输出字符A、B、D、E的ASCII值。 解: #include main() {intc1='A',c2='B',c3='D',c4='E'; cout<<"The'A'is%d\n"< cout<<"The'B'is%d\n"< cout<<"The'D'is%d\n"< cout<<"The'E'is%d\n"< 7、请分析本程序结果: #include main() {inta=3,b=4,c=2; a=++b+c++; cout< a=(b++)+(++c); cout< a++; cout<<"a>b: "<<(a>b)< cout<<"a "<<(a cout<<"a==b: "<<(a==b)< cout<<"a! =b: "<<(a! =b)< cout<<"a>b&&c "<<(a>b&&c cout<<"ac: "<<(ac);}结果为: 解: 7,5,3 9,6,4 a>b: 1 a 0 a==b: 0 a! =b: 1 a>b&&c 1 ac: 1 8、编写程序,从键盘输入一个字符,求出与该字符前后相邻的两个字符,按从小到大的顺序输出这三个字符的ASCII码。 解: ASCII码的大小关系与字符的大小关系一致,且相邻字符的ASCII码编码连续。 用顺序结构即可实现,程序如下: #include main() {charch; cin>>ch; cout<<(char)(ch-1)<<"ASCIIcodeis"<<(int)ch-1< cout< cout<<(char)(ch+1)<<"ASCIIcodeis"<<(int)ch+1< } 三、顺序程序设计 9、输入一个非负数,计算以这个数为半径的圆周长和面积。 解: #include main() {constfloatpi=3.1415926; floatr,s,c; cin>>r; s=r*r*pi; c=2*pi*r; cout<<"s="< 10、输入任意一个三位数,将其各位数字反序输出(例如输入123,输出321)。 解: #include main() {inta,b,c,d; cin>>a; b=a/100; c=a%100/10; d=a%10; cout< } 四、分支程序设计 11、从键盘输入某学生的四科成绩,求出总分和平均分,找出最高分和最低分。 解: 寻找最高分和最低分的基本操作是比较当前分数和当前最高分及最低分的大小,需要选择结构来实现,程序如下: #include main() {floata1,a2,a3,a4,aver,sum; floatmin,max; cout<<"Enter4scores: "< cin>>a1>>a2>>a3>>a4; min=a1;max=a1; sum=a1+a2+a3+a4;aver=sum/4; if(a2 min=a2; elseif(a2>max) max=a2; if(a3 min=a3; elseif(a3>max) max=a3; if(a4 min=a4; elseif(a4>max) max=a4; cout<<"aver="< cout<<"min="< } 12、输入年号和月份,输出这一年的该月的天数。 (一个年份,先判断是否闰年) 解: 需要判断输入的年份是否闰年,输入月份与该月天数的关系最好使用switch结构,if结构亦可完成。 参考程序如下: #include main() {intyear,month,day; cout<<"Enteryear&month: "; cin>>year>>month; if((year%4==0)&&(year%100! =0)||(year%400==0)) {if(month==2) day=29; else day=28; } else{ switch(month) { case1: case3: case5: case7: case8: case10: case12: day=31; break; case2: day=28; break; case4: case6: case9: case11: day=30; break; } } cout<<"year="< 13、给出一个百分制的成绩,要求输出成绩等级‘A’,‘B’,‘C’,‘D’,‘E’。 90分以上为‘A’,80——89为‘B’,70——79为‘C’,60——69为‘D’,60分以下为‘E’。 解: #include main() {floatscore; intgrade; cout<<"pleaseinputascore: "; cin>>score; grade=score/10; switch(grade) {case9: cout<<"It'sAgrade.\n";break; case8: cout<<"It'sBgrade.\n";break; case7: cout<<"It'sCgrade.\n";break; case6: cout<<"It'sDgrade.\n";break; case5: case4: case3: case2: case1: cout<<"It'sEgrade.\n";break; default: cout<<"It'serror! \n";} } 14、企业发放的奖金根据利润提成,利润i低于或等于10万元的,奖金可提10%;利润高于10万元,低于20万元的,低于10万元的部分按10%提,高于10万元的部分可提7.5%;20万 从键盘输入当月利润i,求应发奖金总数。 要求: 用if和switch语句编程。 解1: #include main() {inti,m; cout<<"请输入当月利润: "; cin>>i; if(i<=100000)m=i*0.1; elseif(i<=200000)m=100000*0.1+(i-100000)*0.075; elseif(i<=400000)m=100000*0.1+100000*0.075+(i-200000)*0.05; elseif(i<=600000)m=100000*0.1+100000*0.075+200000*0.05+(i-400000)*0.03; elseif(i<=1000000)m=100000*0.1+100000*0.075+200000*0.05+200000*0.03+(i-600000)*0.015; elsem=100000*0.1+100000*0.075+200000*0.05+200000*0.03+400000*0.015+(i-1000000)*0.01; cout<<"奖金总数为: "< } 解2: #include main() {inti,m,n; cout<<"请输入当月利润: "; cin>>i; n=i/100000; switch(n) {case0: m=i*0.1;break; case1: m=100000*0.1+(i-100000)*0.075;break; case2: case3: m=100000*0.1+100000*0.075+(i-200000)*0.05;break; case4: case5: m=100000*0.1+100000*0.075+200000*0.05+(i-400000)*0.03;break; case6: case7: case8: case9: m=100000*0.1+100000*0.075+200000*0.05+200000*0.03+(i-600000)*0.015;break; default: m=100000*0.1+100000*0.075+200000*0.05+200000*0.03+400000*0.015+(i-1000000)*0.01;} cout<<"奖金总数为: "< 15、输入4个整数,按由小到大的顺序输出。 解: #include main() { inta,b,c,d,t; cout<<"请输入4个数: "; cin>>a>>b>>c>>d; if(a>b) {t=a;a=b;b=t;} if(a>c) {t=a;a=c;c=t;} if(a>d) {t=a;a=d;d=t;} if(b>c) {t=b;b=c;b=t;} if(b>d) {t=b;b=d;d=t;} if(c>d) {t=c;c=d;d=t;} cout<<"smalltobig:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 上机