第三周C++作业

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

 

/*******bool类型使用举例**********/



#include<iostream>									//编译预处理命令 
#include<iomanip>									//使用控制符boolalpha需使用此头文件
using namespace std;								//使用标准名空间std

int main()											//主函数
{
	bool flag=true;									//定义bool类型变量flag,并初始化为true
	cout<<flag<<endl;								//默认情况下为非bool字母(noboolalpha),输出整形值为1
	cout<<boolalpha<<flag<<endl;					//使用输格式控制符bolalpha,输出bool类型
	cout<<flag+5<<endl;								//在算术运算中,把bool数据当作整形数据,输出6
	flag=0;											//可以给bool类型的变量赋予任意类型的值
	cout<<"执行语句flag=0;后flag 的值为:"<<boolalpha<<flag<<endl;		
	flag=0.0;										//0.0为double类型的数值
	cout<<"执行语句flag=0.0;后flag 的值为:"<<boolalpha<<flag<<endl;

	return 0;
}

 

/*******功能:赋值表达式 语句的使用**********/



#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;
}							


 

/*******数据溢出举例**********/



#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;
	cout<<"n = "<<n<<endl;
	
	return 0;

}		


 

/******* ++ 运算符使用举例**********/



#include<iostream>																	
using namespace std;	

int main()
{
	int i= 6,j,k,temp;
	j=++i;							//先对变量i自增,i的值为7,之后把i的值7赋给变量j
	k=i++;							//先把变量i的值7赋给变量k,然后i的值自增,i的值变为8
	++i=1;							//++i可以作为左值,执行完该语句后变量i的值为1
	cout<<"i = "<<i<<endl
		<<"j = "<<j<<endl
		<<"k = "<<k<<endl;
	return 0;
}							


 

/*******强制类型转换示例**********/



#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;
}							



 

/*******例2.5**********/



#include<iostream>																	
using namespace std;	

int main()
{
	char ch;
	cout<<"please input a character: ";
	cin>>ch;
	ch = ch>= 'a'&&ch<='z'?ch-32:ch;
	//上述语句等价于ch=ch>='a'&&ch<='z'?ch-32:ch;
	cout<<"The result is:  "<<ch<<endl;

	return 0;
}							

 

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

#include<iostream>																	
using namespace std;	

int main()
{
	float i,j,k,s,c;
	cout<<"请输入三角形的三条边:"<<endl;
	cin>>i>>j>>k;
	s=(i+j+k)/2;
	c=i+j+k;
	cout<<"三角形的面积为: "<<s<<endl;
	cout<<"三角形的周长为:  "<<c<<endl;

	return 0;
}					
		


 

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

#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;
	k=(e+f)/g+sqrt((double)n)*1.2/g+m;	//把n强制转换成为double类型,按运算顺序从左至右,先乘除后加减,先运算括号内的再运算括号外的
	cout<<"k = "<<k<<endl;

	float x=2.5,y=4.7,h;
	int a=7;
	h=x+a%3*(int(x+y)%2)/4;	  //把x+y强制转化为int类型后,对2取余,运算顺序也是从左至右,先乘除后加减,先运算括号内的再运算括号外的
	cout<<"h = "<<h<<endl;

	return 0;
}					
		



运算结果:

 

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

#include<iostream>
#include<math.h>																	
using namespace std;	

int main()
{
	float a,b,c,y,x1,x2;
	cout<<"请输入一元二次方程的三个系数: "<<endl;
	cin>>a>>b>>c;
	if(b*b-4*a*c>0)
	{
		x1=(-b+sqrt(b*b-4*a*c))/(2*a);
		x2=(-b-sqrt(b*b-4*a*c))/(2*a);
		cout<<"一元二次方程的第一个解为: "<<x1<<endl;
		cout<<"一元二次方程的第一个解为: "<<x2<<endl;
	}
	if(b*b-4*a*c==0)
	{
		x1=x2=(-b)/(2*a);
		cout<<"一元二次方程只有一个解为: "<<x1<<endl;
	}
	if(b*b-4*a*c<0)
	{
		cout<<"一元二次方程无解"<<endl;
	}
	return 0;
}					
	


 运算结果:



明显无根的状态怎么会有数值输出?如何才能输出无解??


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

#include <iostream>      
using namespace std;
#define N 20  

void key(char b[N]);  
int main()    
{    
	char a[N];
	int x;
	cout<<"please enter your english name: "<<endl;
	cin>>a;
	key(a);
    cout<<"after encryption : ";
	for(x=0;a[x]!='\0';x++)
		cout<<int (a[x]);
		cout<<'\n';
    return 0;    
}   
void key(char b[N])
{
	int i;
	for(i=0;b[i]!='\0';i++)
		b[i]=b[i]+2;
	
} 
程序运行后加密结果为名字英文对应的ascii码加2

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

 老师原谅学生愚钝,无法理解,望老师指条明路!


7.积累调试程序经验,收集错误信息原因(每个同学收集3-5条错误信息原因,并输入电脑形成文字)。
1.在输出输入的时候,经常会写成cin<<和cout>>
2.编写一元二次方程组的那个如何才能输出无解,为什么无解的情况都输出的是虚根。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值