第三周作业

来源:互联网 发布:p2p网络理财产品规划 编辑:程序博客网 时间:2024/04/29 20:17

n      实验作业

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;                 //使用标准名空间 stdint main ()                         //主函数{bool flag =true;                //定义布尔型变量 flag,并初始化为turecout<<flag<<endl;               //默认情况下为非bool字母(noboolalpha),输出整型数值1cout<<boolalpha<<flag<<endl;    //使用输出格式控制符boolalpha,输出布尔型值    cout<<flag+5<<endl;             //在算术运算中,吧布尔型数据当作整型数据,输出6flag=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;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.4

#include<iostream>using namespace std;int main(){int i=6,j,k,temp;    j=++i;                   //先把变量i的值自增,i的值变为7,之后把i的值7赋给变量jk=i++;                   //先把变量i的值7赋给变量k,然后i的值自增,i的值变为8++i=1;                   //++1可以作为左值,执行完该语句后变量i的值为1cout<<"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;//上述语句等价于ch=ch>='a'&&ch<='z'?ch-32:ch;cout<<"The rusult is:"<<ch<<endl;return 0;}
2.6

#include<iostream>using namespace std;int main(){char ch='c';            //定义字符型变量ch,并进行初始化int a,b=13;             //定义基本整型变量a和b,并对变量b进行初始化float x,y;              //定义float型变量x和yx=y=2.0;                /*变量x和y均赋值为float型的2.0,此处把double类型的2.0自动转换成float型的2.0,编译时会有警告信息*/a=ch+5;                 /*a赋值为104,ch先转化为int型(即取字符c的ASCII值),再参与运算*/x=b/2/x;                //x赋值为3.0,先做整除运算,然后再转换成double与x运算y=b/y/2;                /*y赋值为3.25,b和y先转换成double型再做除法,同时2也转化成double型,然后做除法运算*/    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;}

2三角形的面积和周长

#include<iostream>#include<math.h>using namespace std;int main(){float a,b,c,d;double s,C;one:                                                cout<<"输入三角形的三条边"<<endl;              cin>>a>>b>>c;        if(a+c>b&&a+b>c&&c+b>a)                   //判断输入的边是否构成三角形      {          d=(a+b+c)/2;                        s=sqrt(d*(d-a)*(d-b)*(d-c));          //计算面积                    C=a+b+c;                              //计算周长          cout<<"该三角形的面积为"<<s<<endl     //输出结果              <<"该三角形的周长为"<<C<<endl;          goto one;                             //返回one      }      else                                     {          cout<<"不能构成三角形,计算不出结果"<<endl;          goto one;      }        return 0;}


3习题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;    double k;k=(e+f)/g+sqrt((double)n)*1.2/g+m;  //sqrt是一个开平方数学函数cout<<"k="<<k<<endl;return 0;}


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


4求一元二次方程的解

#include<iostream>#include<math.h>using namespace std;int main(){float a,b,c,d,x1,x2;cout<<"输入一元二次方程的系数"<<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<<endl;cout<<"x2="<<x2<<endl;if(d<0)cout<<"原方程无解"<<endl;return 0;}



5、6尚且不懂

7

(1)error C2065: 'sqrt' : undeclared identifier

执行 cl.exe 时出错.在最前面加#include<math.h>就行了


(2)error C2143: syntax error : missing ';' before '}'
执行 cl.exe 时出错.     忘了在}前加;


(3)error C2873: 'nanespace' : symbol cannot be used in a using-declaration 写错了名字空间的英文







0 0
原创粉丝点击