C++第三周作业

来源:互联网 发布:日照城市知乎 编辑:程序博客网 时间:2024/04/30 10:08

作业一:课本各例题

例题一

/***例题1.功能:显示输出各种变量所占的节数***/#include "iostream"using namespace std;int main(){cout<<"number of bytes in int is:"<<sizeof(int)<<endl;cout<<"number of bytes in long int is:"<<sizeof(long)<<endl;cout<<"number of bytes in short is:"<<sizeof(short)<<endl;cout<<"双精度型的字节数是:"<<sizeof(double)<<endl;return 0;}


例题二

/***功能:布尔类型使用举例***/#include<iostream> #include<iomanip> using namespace std;  int main()  {  bool a = true;cout<<a<<endl;cout<<boolalpha<<a<<endl;cout<<a+5<<endl;a=0;cout<<"执行语句a=0;后a的值为:"<<boolalpha<<a<<endl;a=0.0;cout<<"执行语句x=0.0;后a的值为:"<<boolalpha<<a<<endl;    return 0;  } 


 例题2.2

/****功能:赋值表达式语句的使用****/#include<iostream>using namespace std;int main(){int a,b,c,d ;a=4;b=a;a=5;c=d=6;c*=a;d%=a+b;cout<<"a="<<a<<endl<<"b="<<b<<endl<<"c="<<c<<endl<<"d="<<d<<endl;return 0;}


 

例题2.2加强版

/****功能:赋值表达式语句的使用****/#include<iostream>using namespace std;int main(){int a,b,c,d ;a=4;b=3;b*=a;c=(a+b)/2;d=a*c/b;a=c*d;cout<<"a="<<a<<endl<<"b="<<b<<endl<<"c="<<c<<endl<<"d="<<d<<endl;return 0;}

如果输入的变量为双精度型,则输出结果为

结论;使用运算符号"/",如果两个数都为整型,则输出结果小数点会被截掉

 

例题2.3

#include<iostream>using namespace std;int main(){short i,j,m,n;i=1000;j=1000;m=i+j;n=i*j;cout<<"m="<<m<<endl<<"n="<<n<<endl;return 0;}


 

输出结果为如果把数据类型short改long,则输出

结论:当表达式超出了取值范围是,就会丢失数据,这种现象称为数据溢出.所以,在编写程序是要特别注意包含有乘法运算的表达式的值,条件允许是要尽可能使用内存字节多的类型

例题2.4

#include<iostream>using namespace std;int main(){int i =6,j,k,stemp;j=++i;k=i++;++i=1;cout<<"i="<<i<<endl<<"j="<<j<<endl<<"k="<<k<<endl;return 0;}


例题2.5

#include<iostream>using namespace std;int main(){char ch;cout<<"please input a character:";cin>>ch;ch=ch>='a'&&ch<='z'?ch-'a'+'A':ch;cout<<"The result is:"<<ch<<endl;return 1;}


例题2.6

#include<iostream>using namespace std;int main(){char ch='c';int a,b=13;float x,y;x=y=2.0;a=ch+5;x=b/2/x;y=b/y/2;cout<<"a="<<a<<endl<<"x="<<x<<endl<<"y="<<y<<endl;return 0;}


 

 

例题2.7

#include<iostream>using namespace std;int main(){int ab,ac;double b =3.14;char c='A';ab=int(b);ac=int(c);cout<<"b="<<b<<endl<<"ab="<<ab<<endl<<"c="<<c<<endl<<"ac="<<ac<<endl;return 0;}


 作业二;计算三角形的周长和面积:

毕竟这是自己编写的第一个程序,所以有什么不足的地方还望见谅,也希望老师能多给点建议,谢谢...

/***功能,计算三角形的周长和面积***/#include<iostream>#include<math.h>using namespace std;int main(){double a,b,c,d,e,m,z;       //***d,e,m,z分别表示三角形余弦,正弦,面积和周长zailaiyici:cout<<"请输入三角形的三条边:";cin>>a>>b>>c;    if(a+c>b&&a+b>c&&c+b>a)    //***满足构成三角形的条件{d=(a*a+b*b-c*c)/(2*a*b);    //***计算三角形的余弦e=sqrt(1-d*d);              //***计算三角形的正弦z=a+b+c;                    //***计算三角形的周长m=0.5*a*b*e;                //***计算三角形的面积cout<<"此三角形的周长为:"<<z<<endl<<"此三角形的面积为:"<<m<<endl;goto zailaiyici;}else{cout<<"此三边不能构成三角形:"<<endl;goto zailaiyici;}return 0;}

作业三,课后习题二合一

 

/***课后习题计算数值***/#include<iostream>#include<math.h>using namespace std;int main(){int e=1,f=4,g=2;float m=10.5, n=4.0, k,j;k=(e+f)/g+sqrt((double)n)*1.2/g+m;cout<<"第一题答案k="<<k<<endl;float x=2.5,y=4.7;int a=7;j=x+a%3*(int(x+y)%2)/4;cout<<"第二题答案j="<<j<<endl;return 0;}


作业四

求方程的解

/***计算一元二次方程的解***/#include<iostream>#include<math.h>using namespace std;int main(){double a,b,c,e,x1,x2;       //a,b,c为方程的三个系数.cout<<"输入系数a="<<endl;   //依次输入三个系数.cin>>a;cout<<"输入系数b="<<endl;cin>>b;cout<<"输入系数C="<<endl;cin>>c;e=b*b-4*a*c;               //用于确定方程有无根以及求根.if (e>=0)                  //求根,当e>0时方程的两个根不同,当e=0时,方程的根x1=x2.{x1=((-b)+sqrt(double(e)))/(2*a); x2=((-b)-sqrt(double(e)))/(2*a); cout<<"方程的第一个根x1:"<<x1<<endl<<"方程的第二个根x2:"<<x2<<endl;}else                       //当e<0时,方程无根.{cout<<"方程没有根"<<endl;}return 0;}


作业五......

加密作业确实有点难,我看了几次同学的作业还有问了同学,但还是不太明白其中的逻辑,也弄懂应该还需些时日,希望老师原谅,这个作业就以后再补过来吧.

 

错误分析:

1在编写程序的时候,老是习惯在中文状态下就输入标点符号.

2 cout和cin的语句位置对调了,导致输出时不能先输出cout所表示的语句.

3 自己设计程序的时候,不能很好的把握好程序的顺序,走向,以至于程序编好后要继续修改,浪费了一些时间.

4 打字母是粗心大意,总是犯一些小错误.
 

 


 

 

0 0
原创粉丝点击