c++第三周作业

作业一:

课本例题1:

/*************************************************************
* 名称 :sizeof的使用例题
* 功能 :显示输出各种整型变量所占的字节数
* 输入 :无
* 输出 :无
**************************************************************/
# include<iostream>      //编译预处理命令
using namespace std;     //使用标准名空间std

int main()               //主函数
{
	cout<<"number of bytes in int is: "<<sizeof(int)<<endl;
	cout<<"number of bytes in long int is: "<<sizeof(long int)<<endl;
	cout<<"number of bytes in short int is: "<<sizeof(short int)<<endl;

	return 0;
} 

课本例题2:

/***********************************************
**    功能 :布尔类型使用举例   **
************************************************/
# include<iostream>                  //编译预处理命令

# include<iomanip>                   //使用控制符boolalpha需使用此头文件
using namespace std;                 //使用标准名空间std

int main()
{
	bool flag = true;                //定义布尔类型变量flag,并初始化为true
	cout<<flag<<endl;                //默认情况下为非bool字母(noboolalpha),输出整型值1
	cout<<boolalpha<<endl;           //使用输出格式控制符boolalpha,输出布尔型值
	cout<<flag + 5<<endl;            //在算术运算中,把布尔数据当作整型数据,输出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;
}
//将5, 3,3.2,代入。得到的都是true
//结论 :将flag赋予除去0的其他值,布尔型值都为true。

课本例题3:

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

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

课本例题4:

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

课本例题5:

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

# 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;
	cout<<"i = "<<i<<endl
		<<"j = "<<j<<endl
		<<"k = "<<k<<endl;
		
	return 0;
}

课本例题6:

/**********************************************************
****    功能:把一个小写字母字符转换成大写    ****
***********************************************************/

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

课本例题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<math.h>
using namespace std;

/************************************************
* 名称 :area(double a, double b, double c)
* 功能 :求一个三角形的面积
* 输入 :三角形的三个边
* 输出 :三角形的面积
*************************************************/

void area(double a, double b, double c)
{
	double t, S;	
    t = (a+b+c) / 2; 
    S = sqrt(t*(t-a)*(t-b)*(t-c)); 
	cout<<"三角形的面积是:"<<S<<endl;
}

/************************************************
* 名称 :circumference(double a, double b, double c)
* 功能 :求一个三角形的周长
* 输入 :三角形的三个边
* 输出 :三角形的周长
*************************************************/

void circumference(double a, double b, double c)
{
	double C;
	C = a + b + c;
	cout<<"三角形的周长是:"<<C<<endl;
}

int main()
{
	double a, b, c;
	cout<<"请输入要计算的三角形的三个边"<<endl;
	cin>>a>>b>>c;
	if((a+b<c) & (a+c<b) & (b+c<a))      //构成三角形的条件,两边之和大于第三边
	{
		area(a, b, c);
		circumference(a, b, c);
	}
	else
		cout<<"不能构成三角形"<<endl;
	return 0;
}

/************************************************
****    功能 :求一个三角形的面积及周长    ****
*************************************************/

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

/************************************************
* 名称 :area(double a, double b, double c)
* 功能 :求一个三角形的面积
* 输入 :三角形的三个边
* 输出 :三角形的面积
*************************************************/

void area(double a, double b, double c)
{
	double t, S;	
    t = (a+b+c) / 2; 
    S = sqrt(t*(t-a)*(t-b)*(t-c)); 
	cout<<"三角形的面积是:"<<S<<endl;
}

/************************************************
* 名称 :circumference(double a, double b, double c)
* 功能 :求一个三角形的周长
* 输入 :三角形的三个边
* 输出 :三角形的周长
*************************************************/

void circumference(double a, double b, double c)
{
	double C;
	C = a + b + c;
	cout<<"三角形的周长是:"<<C<<endl;
}

int main()
{
	double a, b, c;
	cout<<"请输入要计算的三角形的三个边"<<endl;
	cin>>a>>b>>c;
	if((a+b<c) & (a+c<b) & (b+c<a))      //构成三角形的条件,两边之和大于第三边
	{
		area(a, b, c);
		circumference(a, b, c);
	}
	else
		cout<<"不能构成三角形"<<endl;
	return 0;
}

/*****************************************************
****    功能 :对英文名字加密    ****
******************************************************/

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

/*****************************************************
* 名称 :jiami
* 功能 :对英文名字加密
* 输入 :英文名字
* 输出 :加密后的名字
******************************************************/

void jiami( char name[])
{
	int i;
	for(i=1; i<20; i++)
	{
		name[i] = name[i] >> 5;
	}
	cout<<"姓名 :"<<name<<endl;
}

int main()
{
	int i;
	char name[20];
	cout<<"请输入你的英文名字:"<<endl;
	for(i=0; i<20; i++)
	{
		cin>>name[i];
		jiami(name);
	}

	return 0;
}

//结论:只需将英文所对应的ASCII码打乱就可以达到目的。
解密程序未完成,不知道怎么解密


/*****************************************************
****    功能 :用一个16位数来控制机器    ****
******************************************************/

# include<iostream>
using namespace std;

int main()
{
	int a, zhiling; 
	a = 0x8888;          //用一个16进制码来表示16位,其作用是控制机器
	cout<<"(1为削,2为压,3为强制停机,4为报警)请输入编号:"<<endl;
	cin >> zhiling;
	if(zhiling == 1)
	{
		a = 0x8880;      //用指令0x8880控制机器削
	}
	else if(zhiling == 2)
	{
		a = 0x8808;      //用指令0x8808控制机器压
	}
	else if(zhiling == 3)
	{
		a = 0x8800;      //后八位为零的时候机器强制停机
	}
	else
	{
		a = 0x0888;      //当首位为零时报警
	}

	return 0;
}
这样的控制程序可行吗?


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值