第二章作业

实验作业

1.输入课本各个例题,调试运行程序,并分析程序,将每一个程序改写2到3个版本,自己分析程序结果,然后再调试运行,核对分析结果的对错。

2.编写程序输入一个三角形的三条边,计算其面积和周长;

3.编写程序计算并输出课本本章习题3表达式的值并分析结果。

4.编写一个程序,输入一个一元二次方程的三个系数,并计算其方程的解,然后输出。

5.编写程序,自己确定一个加密算法,将自己的音标姓名(英文)加密,并输出加密后结果,请注释你的加密算法。

6.在一个自动控制设备中,控制字位数16位,控制设备产生机械动作(如削,压等)的是指令字的低8位,其中保护强制停机动作的控制命令是低8位是全为0,控制报警声音是指令的高第1位,0为报警,1为不报警。请编写程序,在紧急状况启动时,向控制器输入控制指令。

7.积累调试程序经验,收集错误信息原因(每个同学收集3-5条错误信息原因,并输入电脑形成文字)。

 

#include<iostream>
using namespace std;

int main()
{
    cout<<"整型:"<<sizeof(int)<<endl;
	cout<<"长整型:"<<sizeof(long)<<endl;
	cout<<"短整型:"<<sizeof(short)<<endl;
    cout<<"单精度:"<<sizeof(float)<<endl;
	cout<<"双精度:"<<sizeof(double)<<endl;
	cout<<"扩展双精度:"<<sizeof(long double)<<endl;
	cout<<"字符型:"<<sizeof(char)<<endl;
	cout<<"布尔型:"<<sizeof(bool)<<endl;
	cout<<"空类型:"<<sizeof(void)<<endl;
	
    return 0;
}


空类型显错,因为它也称为无值型

 

例2.1


#include<iostream>

#include<iomanip>
using namespace std;

int main()
{
     bool flag=true;
	 cout<<flag<<endl;
	 cout<<boolalpha<<flag<<endl;
	 cout<<flag+5<<endl;
	 flag=0;
	 cout<<"执行语句flag=0;后flag的值为:"<<boolalpha<<flag<<endl;
	 flag=0.0;
	 cout<<"执行语句flag=0.0;后flag的值为:"<<boolalpha<<flag<<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.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;
   long a,b,c,d;
   a=1000;
   b=1000;
   c=a+b;
   d=a*b;
   cout<<"c="<<c<<endl
       <<"d="<<d<<endl; 
   
   return 0;
}


 

例2.4


#include<iostream>
using namespace std;

int main()
{
   int i=6,j,k,temp;
   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 0;
}

 

例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;
	 cout<<"x=:"<<x<<endl;
	 cout<<"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;
   cout<<"ab="<<ab<<endl;
   cout<<"c="<<c<<endl;
   cout<<"ac="<<ac<<endl;

   return 0;
}


三角形周长与面积 


#include<iostream>
#include<cmath>
using namespace std;


int main()
{
   float a,b,c,t;
   double D,S;
shuru:
   cout<<"输入三角形的三条边:";
   cin>>a>>b>>c;
   if (a+b<c||a+c<b||b+c<a)
{
   cout<<"不能构成三角形!"<<endl;
   goto shuru;
}
else
{   
   D=a+b+c;
   t=D/2;
   S=sqrt(t*(t-a)*(t-b)*(t-c));
   cout<<"直径="<<D<<endl
       <<"面积="<<S<<endl;
}




   return 0;
}



#include<iostream>
#include<cmath>
using namespace std;

int main()
{
   int e=1,f=4,g=2;
   float m=10.5,n=4.0,k;
   k=(e+f)/g+sqrt((double)n)*1.2/g+m;
   cout<<"k=:"<<k<<endl;
   
   return 0;
}

k为13.7



#include<iostream>
using namespace std;

int main()
{
  float x=2.5,y=4.7,g;
  int a=7;
  g=x+a%3*(int(x+y)%2)/4;
  cout<<"g=:"<<g<<endl;

  return 0;
}

g为2.5



一元二次方程

#include<iostream>
#include<cmath>
using namespace std;


int main()
{
    double a,b,c,x1,x2,D,p,q,F,G;
	cout<<"请输入a,b,c的值:";
	cin>>a>>b>>c;
	D=b*b-4*a*c;
	p=-b/(2*a);
	q=sqrt(D)/(2*a);
	x1=p+q;
	x2=p-q;
if(D<0)
{	
     F=sqrt(-D)/(2*a);    
     G=-b/(2*a);
	 cout<<"方程的虚根为:"<<endl;
	 cout<<"x1= "<<G<<"+"<<"("<<G<<")"<<"*i"<<endl;    
     cout<<"x2= "<<G<<"-"<<"("<<G<<")"<<"*i"<<endl;
	
}	
else	
	cout<<"方程的实根为:"<<x1<<'\t'<<x2<<endl;


	return 0;
}




#include<iostream>
using namespace std;

int main()
{
  int i;
  char name[20],m;
  cout<<"输入名字的拼音:"<<endl;
  cin.get(name,20);
  for (i=strlen(name);i>0;i--)
  { 
	  m=name[i]+5;
	  cout<<"结果:"<<m<<endl;
  }
	  return 0;
}


作业7

完成三角形的那道题,自学到挺多东西的,例如goto语句和if语句,下次遇见有循环结构的程序设计会尝试使用while语句。当要用到sqrt函数时,还要在源文件添加<cmath>预处理命令。

编写求解一元二次方程的根时,根本不知道从何开始下手,但在书上还是找到了求解过程,并自学求解虚根的语句,C++学起来还是挺充实的,对于我这些小虾。

错误基本都是漏了“;”,及缺少预处理命令,使得函数不起作用。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值