您的位置:首页 > 其它

第三周作业

2014-03-25 13:40 183 查看
实验作业
1.输入课本各个例题,调试运行程序,并分析程序,将每一个程序改写2到3个版本,自己分析程序结果,然后再调试运行,核对分析结果的对错。
2.编写程序输入一个三角形的三条边,计算其面积和周长;
3.编写程序计算并输出课本本章习题3表达式的值并分析结果。
4.编写一个程序,输入一个一元二次方程的三个系数,并计算其方程的解,然后输出。
5.编写程序,自己确定一个加密算法,将自己的音标姓名(英文)加密,并输出加密后结果,请注释你的加密算法。
6.在一个自动控制设备中,控制字位数16位,控制设备产生机械动作(如削,压等)的是指令字的低8位,其中保护强制停机动作的控制命令是低8位是全为0,控制报警声音是指令的高第1位,0为报警,1为不报警。请编写程序,在紧急状况启动时,向控制器输入控制指令。
7.积累调试程序经验,收集错误信息原因(每个同学收集3-5条错误信息原因,并输入电脑形成文字)。

1、例题
例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>                //编译预处理命令
#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.3

/************************************
**   功能:数据溢出举例  **
************************************/
#include<iostream>                //编译预处理命令
using namespace std;              //使用标准空间名std

int main()                        //主函数
{
short i,j,m,n;                //定义短整型i,j,m,n
i=1000;                       //1000赋值给i,j
j=1000;
m=i+j;                        //i+j的和赋值给m,i*j的积赋值给n
n=i*j;
cout<<"m="<<m<<endl;          //输出m,n
cout<<"n="<<n<<endl;
return 0;
}

例2.4
/************************************
**   功能:++运算符的使用  **
************************************/
#include<iostream>                //编译预处理命令
using namespace std;              //使用标准空间名std

int main()                        //主函数
{
int i=6,j,k;                  //定义整型i,j,k,并对i赋初值
j=++i;                        //i先自+1再赋值给j,也就是i=i+1,j=i
k=i++;                        //将i的值赋给k,再自+1,也就是k=i,i=i+1
++i=1;                        //i=i+1,但最后1赋值给i
cout<<"i="<<i<<endl           //输出i j k的值
<<"j="<<j<<endl
<<"k="<<k<<endl;
return 0;
}

例2.5
/************************************
**   功能:条件表达式运用  **
************************************/
#include<iostream>                //编译预处理命令
using namespace std;              //使用标准空间名std

int main()                        //主函数
{
char ch;                      //定义字符ch
cout<<"please input a character:";
cin>>ch;                            //键盘输入一个字符
ch=ch>='a'&&ch<='z'?ch-'a'+'A':ch;  //如果输入的是一个字母,则输出该字母的大写,asc码之间的运算,
cout<<"the result is :"<<ch<<endl;  //否则输出原字符
return 0;
}

例2.6
/************************************
**   功能:强制类型转换  **
************************************/
#include<iostream>                //编译预处理命令
using namespace std;              //使用标准空间名std

int main()                        //主函数
{
int ab,ac;                    //定义整型ab ac
double b=3.14;                //定义浮点型b 并赋值3.14
char c='A';                   //定义字符型c,并赋值'A'
ab=int(b);                    //将浮点型b强制转换为整型赋值给ab
ac=int(c);                    //将字符型c强制转换为整型赋值给ac
cout<<"b="<<b<<endl;          //输出b ab c ac结果
cout<<"ab="<<ab<<endl;
cout<<"c="<<c<<endl;
cout<<"ac="<<ac<<endl;
return 0;
}


2、三角形

/************************************
**   功能:计算三角形周长面积  **
************************************/
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
double a,b,c,m,S,L;
cout<<"请输入三角形的三边长:"<<endl;
cin>>a>>b>>c;
m=(a+b+c)/2;
S=sqrt(m*(m-a)*(m-b)*(m-c));
L=a+b+c;
cout<<"三角形的面积为:"<<S<<endl;
cout<<"三角形的周长为:"<<L<<endl;
return 0;
}


3.求下列表达式的值

(1)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;

#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)/double(g)+sqrt((double)n)*1.2/g+m;
cout<<"k="<<k<<endl;
return 0;
}

(2)float x=2.5,y=4.7,z;

 int a=7;

x+a%3*(int(x+y)%2)/4;

#include <iostream>
#include <math.h>
using namespace std ;
int main()
{
float x=2.5,y=4.7,z;
int a=7;
z=x+float(a%3*(int(x+y)%2))/4;
cout<<"z="<<z<<endl;
return 0;
}

4、

/************************************
** 功能:求一元二次方程的解 **
************************************/
#include <iostream>
#include <math.h>
using namespace std ;
int main()
{
double a,b,c,x1,x2,d;
cout<<"请输入一元二次方程的三个系数a,b,c"<<endl;
cin>>a>>b>>c;
d=b*b-4*a*c;
if (d>0)
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
cout<<"方程的解为x1="<<x1<<"\n"
<<"方程的解为x2="<<x2<<"\n";
return 0 ;
if(d=0)
cout<<"方程的解为x1=X2="<<x1<<"\n";
else
cout<<"该方程无解"<<"\n";
return 0 ;
}

5题该题可以把名字转化为拼音字母,然后通过加密对应为另外的字母,但不会编写

6题没有头绪
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: