1. 基本数据类型的长度:编写一个程序,输出基本数据类型char, short, int,long, float, double,bool 的数据类型的长度.#include<iostream> using namespace std; int main() {cout <<"char 型长度:"<<sizeof(char)<<'\n'; cout <<"short 型长度:"<<sizeof(short)<<'\n'; cout <<"int 型长度:"<<sizeof(int)<<'\n'; cout <<"long 型长度:"<<sizeof(long)<<'\n'; cout <<"float 型长度:"<<sizeof(float)<<'\n'; cout <<"double 型长度:"<<sizeof(double)<<'\n'; cout <<"bool 型长度:"<<sizeof(bool)<<'\n'; return 0; }2. 已知三条边a 、b 、c ,求三角形面积。
))()((c s b s a s s area ---=)(21c b a s ++=要求:在C++中用标准函数sqrt 计算平方根,此函数包含在cmath头文件中。
#include<iostream> #include<cmath>using namespace std; int main() {float a,b,c,s,area;cout <<"输入三角形三边长:";cin >>a>>b>>c;s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));cout <<"输出三角形面积:"<<area<<'\n';return 0;}思考题①将程序中的“s =1.0/2*(a+b+c) ;”语句改为“s =1/2*(a+b+c) ;”,再进行编译、连接、运行,看结果如何?②将程序中的“area = sqrt(s*(s-a)*(s-b)*(s-c)) ; ”语句改为“area = sqrt(s*(s-a)*(s-b)*(s-c)) ; ”,再进行编译、连接、运行,看结果如何?1.显示面积为零2.报错3.编程序,计算下面分段函数的值。
将思考题分析结果以注释的形式写在程序中。
2x+10 (x<0)y= 8x+5 (0≤x≤10)4x-10 (x>10)要求①用键盘输入x的值。
②运行程序时,分别按x的值小于0、x的值在0到10之间、x的值大于10三种情况输入数据,检查输出的y值是否正确。
#include<iostream>#include<cmath>using namespace std;int main(){float x,y;cout <<"输入x的值:"<<'\n';cin >>x;if (x<0) y=2*x+10;if (x>=0&&x<=10) y=2;if (x>10) y=4*x-10;cout <<"输出y的值:"<<y<<'\n';return 0;}思考题:判断x的值在0和10之间可否使用表达式“0<=x<=10”?为什么?正确的表示方法是什么?不可以。
因为c语言语句应该有x和关系运算符和逻辑运算符来表示。
应是x>=0&&x<=10自测练习1.某公司决定为员工普涨7.6%的工资,同时按照新标准增补前6个月的工资。
写一个程序,输入员工去年的年薪,输出应增发的金额,新的年薪以及新的月薪。
#include<iostream>#include<cmath>using namespace std;const double c=0.076;int main(){float a,b,d,e;cout <<"输入去年的年薪:"<<'\n';cin >>a;b=a/12*c*6;d=a*(1+c);e=d/12;cout <<"输出增发金额:"<<b<<endl;cout <<"新年薪:"<<d<<endl;cout <<"输月薪:"<<e<<endl;return 0;}2.计算机完成一项复杂的数学计算需要40 000s,编写程序,将其转换成几小时几分几秒的表示形式。
#include<iostream>#include<cmath>using namespace std;int main( ){float a,b,c;cout <<"数学计算需要40000s,即:"<<endl;a=40000/3600;b=40000%3600/60;c=40000%3600%60;cout <<a<<"小时"<<b<<"分"<<c<<"秒"<<endl;return 0;}3.每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后的身高的因素包括遗传、饮食习惯与体育锻炼等。
小孩成人后的身高与其父母的身高和自身的性别密切相关。
设faHeight为其父身高,moHeight为其母身高,身高预测公式为男性成人时身高=(faHeight + moHeight)×0.54cm女性成人时身高=(faHeight×0.923 + moHeight)/2cm 此外,如果喜爱体育锻炼,那么可增加身高2%;如果有良好的卫生饮食习惯,那么可增加身高1.5%。
编程从键盘输入用户的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高(用实型变量存储,faHeight为其父身高,moHeight为其母身高)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示良好,输入字符N表示不好),利用给定公式和身高预测方法对身高进行预测。
#include<iostream>#include<cmath>using namespace std;int main( ){char sex,sports,diet;float faHeight,moHeight;cout <<"输入父亲身高:"<<'\n';cin >>faHeight;cout <<"输入母亲身高:"<<'\n';cin >>moHeight;cout <<"输入性别:"<<'\n';cin >>sex;switch(sex){case 'M':{cout <<"是否喜爱锻炼:"<<'\n';cin >>sports;switch(sports){case 'Y':{cout <<"是否有良好的卫生饮食习惯:"<<'\n';cin >>diet;switch(diet){case 'Y':cout <<"预测身高为:"<<(faHeight+moHeight)*0.54*(1+0.02)*(1+0.015)<<'\n';break; case 'N':cout <<"预测身高为:"<<(faHeight+moHeight)*0.54*(1+0.02)<<'\n';}}break;case 'N':{cout <<"是否有良好的卫生饮食习惯:"<<'\n';cin >>diet;switch(diet){case 'Y':cout <<"预测身高为:"<<(faHeight+moHeight)*0.54*(1+0.015)<<'\n';break;case 'N':cout <<"预测身高为:"<<(faHeight+moHeight)*0.54<<'\n';}}}}break;case 'F':{cout <<"是否喜爱锻炼:"<<'\n';cin >>sports;switch(sports){case 'Y':{cout <<"是否有良好的卫生饮食习惯:"<<'\n';cin >>diet;switch(diet){case 'Y':cout <<”预测身高为:"<<(faHeight*0.923+moHeight)*0.5*(1+0.02)*(1+0.015)<<'\n';break;case 'N':cout <<"预测身高为:"<<(faHeight*0.923+moHeight)*0.5*(1+0.02)<<'\n';}}break;case 'N':{cout <<"是否有良好的卫生饮食习惯:"<<'\n';cin >>diet;switch(diet){case 'Y':cout <<"预测身高为:"<<(faHeight*0.923+moHeight)*0.5*(1+0.015)<<'\n';break;case 'N':cout <<"预测身高为:"<<(faHeight*0.923+moHeight)*0.5<<'\n';}}}}}return 0;}。