第二章实验作业

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

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

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

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

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

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

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



书本P19页例题

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

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

	return 0;
}

例2.1

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

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

int main()                      //主函数
{
	bool flag = true;            //定义布尔型变量flag,并初始化为true
		cout<<flag<<endl;        //默认情况下为非bool字母(noboolalpha),输出整型值1
		cout<<boolalpha<<flag<<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;
}



例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;
   cout<<"n="<<n<<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;
	cout<<"n= "<<n<<endl;

	return 0;
}

<strong>例2.4</strong>
/*******自增自减*******/
#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;
}


/*******条件运算符及条件表达式的应用*******/
#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;
}

<strong>例2.6</strong>
/*******自动类型转换*******/
#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;
}
<strong>
</strong>


/***************************************
** 数据类型强制转换示范*****************
***************************************/

#include<iostream>                  //预编译处理命令
using namespace std;                //标准名字空间

int main()                          //主函数
{
	int ab ,ac;
	double b=3.14;
	char c='a';
	ab = int(b);                   //将b强制转换成int类型赋给ab
	ac = int(c);                   //将c强制转换成int类型赋给ac,输出为c的ASCII字符编号
	cout<<"b = "<<b<<endl          //输出
		<<"ab = "<<ab<<endl
		<<"c ="<<c<<endl
		<<"ac ="<<ac<<endl;


	return 0;



求三角形面积和周长

#include <iostream>
#include <math.h>
using namespace std;
void main()
{
printf("请输入三角形三边长:\n");
int a,b,c;
float p,s,x,y,z,m;
scanf("%d%d%d",&a,&b,&c);
m=a+b+c;
printf("三角形周长c=%f\n",m);
p=(float)(a+b+c)/2;
x=p-a;
y=p-b;
z=p-c;
s=sqrt(p*x*y*z);
printf("三角形面积s=%f\n",s);

}


 

书本P36习题3(1)

#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;
		cout<<"k="<<k<<endl;

	return 0;
}


 

书本P36习题3(2)

#include <iostream>

using namespace std;
int main()
{
	float x=2.5,y=4.7,m;
	int a=7;
	m=x+a%3*(int(x+y)%2)/4;
	cout<<"m="<<m<<endl;
    
	return 0;
}




还没研究出怎么去求虚根,打算继续学下去等研究出来再补全这个程序,不要见怪啊微笑 

/************************************* 
*********解一元二次方程***************
*************************************/
#include<iostream>
#include<math.h>
using namespace std;

int main()
{
	float a,b,c; 
    double x1,x2,e; 
	cout<<"请依次输入一元二次方程组ax^2+bx+c=0中系数a,b,c的值"<<endl;
    cin>>a>>b>>c;                   //先求出e值方便判断是否有实根
	e=b*b-4*a*c;
        x1=(-b+sqrt(double(e)))/(2*a);
		x2=(-b-sqrt(double(e)))/(2*a);

	if(e>=0)
	{
	  	if(x1=x2)
        {
			cout<<"此方程只有一个解,x1=x2="<<x1<<endl;
		}
	else 
	{
        cout<<"此方程有两个解,分别是:"<<x1<<endl;
	    cout<<"x1="<<x1<<endl;
        cout<<"x2="<<x2<<endl;		
			
	}
}
	else
	{
		cout<<"该函数不存在实根"<<endl;
	}

return 0;
}

 

#include <iostream>
using namespace std;

int main()
{
char a[25],b[25],c[25],e[25];          //定义四个一维字符型数量组  
    int k;    
    cout<<"欢迎进行名字加密与解密程序"<<endl;        //加密解密选择  
    cout<<"加密请输入“1”,解密请输入任意数字"<<endl;  
    cin>>k;   
      
    if(k==1)                                        //加密                        
    {  
        int i;  
        cout<<"请输入你要加密的名字"<<endl;         //输入要加密的名字  
        fflush(stdin);                              //清除输入缓存  
		cin>>a;                                     //从键盘获取字符                                   
        cout<<"该名字的加密成果为:"<<endl;         //加密结果输出  
        for(i=0;i<25;i++)  
        {  
            if(a[i]==0)  
            {  
                break;  
            }  
            b[i]=a[i];  
            b[i]=b[i]+10;                           //加密方法  
            c[i]=b[i];  
            cout<<c[i];
  
        }  
        cout<<endl;  
    }  
    else                                           //解密                                              
    {  
          
        cout<<"请输入你要解密的名字"<<endl;        //输入要解密的名字  
        fflush(stdin);                             //清除输入缓存  
        cin>>a;  
          
        cout<<"该名字的解密成果为:"<<endl;        //解密结果输出   
        for(int i=0;i<25;i++)  
        {  
            if(a[i]==0)  
            {  
                break;  
            }  
            b[i]=a[i];  
            b[i]=b[i]-10;                          //解密方法  
            e[i]=b[i];  
            cout<<e[i];  
        }  
        cout<<endl;  
    }  

	return 0;
}
关于这个加密程序我确实是没太大弄懂怎么搞,这个是参考光荣榜的同学的。貌似有一些知识还没有学到,我已经尽力了,给点时间我去完善吧老师哭



作业6完全看不懂·········


作业7:

c:\users\he\desktop\c++\cpp2.cpp(6) : fatal error C1083: Cannot open include file: 'ioamanip': No such file or directory

最近很多错误,可以归纳为以下几点

编写词语的时候有错别字母

对某些字母缺少定义

分号的缺漏与没注意大小写状态

还有很多······哭



在写程序过程中发现还有很多东西没弄懂,单单靠书本一两章的知识去做一个稍微复杂点的程序是不可能,需要我们持之以恒的学习奋斗奋斗。除了记住一些必要的公式之外,还需要很强的思考和逻辑能力,我们要在今后的日子慢慢积累起来。学习c++确实不是一天两天的事呀微笑话说这周作业好多啊哭大哭

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值