作业一:课本各例题
例题一
/***例题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;
}
结论:当表达式超出了取值范围是,就会丢失数据,这种现象称为数据溢出.所以,在编写程序是要特别注意包含有乘法运算的表达式的值,条件允许是要尽可能使用内存字节多的类型
例题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 打字母是粗心大意,总是犯一些小错误.