一、实验目的
1. 掌握顺序结构的编程思路和方法;
2. 掌握格式化输入输出和数据类型转换。
二、 实验任务
1. 从键盘输入一个小写字母,将其转换成大写字母,输出这两个大小写字母及它们的ASCII码值。输入输出格式参见样张:
示例代码:
//小写字母,将其转换成大写字母 #include<iostream> #include<cstdio> #include<string> using namespace std; int main() { char a; char b; int c,d; cout<<"请输入一个小写字母:"; cin>>a; c=a; cout<<"输入的小写字母是:"<<a<<","<<"其ASCII码是:"<<c<<endl; b=a-32; d=b; cout<<"对应的大写字母是:"<<b<<","<<"其ASCII码是:"<<d<<endl; return 0; }
2. 从键盘输入两个整数(要求:两个数不能整除,第2个数不为0),计算这两个数的商,并输出结果,理解整数除法与实数除法的区别。输入输出格式参见样张:
示例代码:
//除法的运算 #include<iostream> #include<cstdio> #include<string> using namespace std; int main() { int a,b,s; cout<<"请输入两个整数:"; cin>>a>>b; s=a/b; cout<<"整数除法:"<<a<<"/"<<b<<"="<<s<<endl; cout<<"实数除法:"<<a<<"/"<<b<<"="<<(float)a/b<<endl; return 0; }
3. 从键盘输入圆球的半径,计算圆球表面积和圆球体积,并输出结果。π使用符号常量,值取3.14159。公式: 。要求:圆球表面积保留两位小数,圆球体积保留四位小数。输入输出格式参见样张:
示例代码:
//计算圆球的体积和面积 #include<iostream> #include<cstdio> #include<string> using namespace std; int main() { double s,v,r; cout<<"请输入半径:"; cin>>r; s=4*3.14159*r*r; v=(4*3.14159*r*r*r)/3.0; cout<<"圆球面积为:"; printf("%.2f\n",s ); cout<<"圆球体积为:"; printf("%.4f\n",v ); return 0; }
4.计算万有引力。
由普通物理知, 两个质量分别为m1和m2的物体之间的万有引力F与两个物体质量的乘积成正比, 与两个物体质心之间的距离R的平方成反比,即:
式中G为引力常数,如果F的单位为牛顿(N),质量的单位为千克(kg),物体质心的距离单位为米(m),则。已知太阳的质量为 kg,地球的质量为kg,太阳与地球的距离为m,请计算太阳与地球之间的万有引力。要求:G使用符号常量。输出格式参见样张:
示例代码:
//计算万有引力 #include<iostream> #include<cstdio> #include<string> #include<iomanip> using namespace std; int main() { double m1,m2,r,f; const double G=6.67259e-11; m1=1.987e30; m2=5.975e24; r=1.495e11; f=(G*m1*m2)/(r*r); cout<<"太阳的质量为:"<<fixed<<setprecision(0)<<m1<<endl; cout<<"地球的质量为:"<<m2<<endl; cout<<"太阳与地球的距离为:"<<r<<endl; cout<<"太阳与地球之间的万有引力为:"<<f<<endl; return 0; }
5. 已知某同学参加了高等数学、大学物理、大学英语三门课程的考试。编程实现:从键盘输入该同学的学号(11位)以及三科的成绩,计算平均成绩,并输出成绩单。
要求:(1)学号作为一个整数而言,超出了int型变量的存储范围,因此需用double型变量来存储,但输出时要求显示的是整数形式的学号。
(2)从键盘输入的姓名使用string型变量存放。
(3)成绩单中三科成绩保留1位小数,平均成绩保留两位小数。
(4)输入输出格式参见样张:
示例代码:
//输出成绩单 #include<iostream> #include<cstdio> #include<string> #include<iomanip> using namespace std; int main() { double a,b,c,s,n; string name; cout<<"请输入学号、姓名、三门课成绩:"<<endl; cin>>n>>name>>a>>b>>c; cout<<endl; cout<<setw(32)<<setfill('*')<<"成绩单"<<setw(22)<<"*"<<endl; cout.fill(' '); cout<<setw(8)<<"学"<<setw(4)<<"号"<<setw(8)<<"姓"<<setw(4)<<"名"; cout<<setw(10)<<"高等数学"<<setw(10)<<"普通物理"<<setw(10)<<"大学英语"<<endl;//输出第二行; cout<<fixed<<setprecision(0)<<setw(12)<<n<<setw(12)<<name<<setprecision(1)<<setw(10)<<a<<setw(10)<<b<<setw(10)<<c<<endl; s=(a+b+c)/3; cout<<"平均成绩:"<<setprecision(2)<<s<<endl; cout<<setfill('*')<<setw(54)<<"*"<<endl; return 0; }
总结:
本实验中,第三题与第四题均实现了格式化输出,但是方法有所不同,由于是C++的代码,建议参考第四题的方式格式化输出。