第三周作业
2014-03-20 15:45
323 查看
实验作业
1.输入课本各个例题,调试运行程序,并分析程序,将每一个程序改写2到3个版本,自己分析程序结果,然后再调试运行,核对分析结果的对错。
2.编写程序输入一个三角形的三条边,计算其面积和周长;
3.编写程序计算并输出课本本章习题3表达式的值并分析结果。
4.编写一个程序,输入一个一元二次方程的三个系数,并计算其方程的解,然后输出。
5.编写程序,自己确定一个加密算法,将自己的音标姓名(英文)加密,并输出加密后结果,请注释你的加密算法。
6.在一个自动控制设备中,控制字位数16位,控制设备产生机械动作(如削,压等)的是指令字的低8位,其中保护强制停机动作的控制命令是低8位是全为0,控制报警声音是指令的高第1位,0为报警,1为不报警。请编写程序,在紧急状况启动时,向控制器输入控制指令。
7.积累调试程序经验,收集错误信息原因(每个同学收集3-5条错误信息原因,并输入电脑形成文字)。
1.个人觉得第一题,是为了让我们自己能够举一反三,熟悉例题。上传太占页面,所以我只把例题上传,自己私下改写。
1.1为了知道pc的变量所占的内存单元的大小,本来就只有整型变量,以下我再添加几行其他的变量
1.2布尔类型的使用
1.3赋值表达式语句举例 我再加上了一个e的赋值表达式
1.4 数据溢出举例
一开始,n定义为短整型,超出了n=i*j的值,所以后来定义为长整型。
1.5++运算符使用举例
3.我把课后习题两道小题合在一起,第一道题的计算结果为13.7,第二道题的计算结果为2.5.
4.这是求一元二次方程的解。由于一开始对if语句不是很熟用,对判断方程是否存在实数根,调试了很久,因为用vc编译时,没有显示错误,但是在输入几个系数时,得出的结果总是大跌眼镜。后来经过几次修改,在if语句中再嵌套一个if语句,才得以解决。
以上为随意输入三个系数得出的解。
5
这个为加密程序
这个是解密的程序
6.暂时还没做,等周末再把第6题做好.
7.一般出现的问题是有时候语句缺少";'。其他的基本上没什么问题。
1.输入课本各个例题,调试运行程序,并分析程序,将每一个程序改写2到3个版本,自己分析程序结果,然后再调试运行,核对分析结果的对错。
2.编写程序输入一个三角形的三条边,计算其面积和周长;
3.编写程序计算并输出课本本章习题3表达式的值并分析结果。
4.编写一个程序,输入一个一元二次方程的三个系数,并计算其方程的解,然后输出。
5.编写程序,自己确定一个加密算法,将自己的音标姓名(英文)加密,并输出加密后结果,请注释你的加密算法。
6.在一个自动控制设备中,控制字位数16位,控制设备产生机械动作(如削,压等)的是指令字的低8位,其中保护强制停机动作的控制命令是低8位是全为0,控制报警声音是指令的高第1位,0为报警,1为不报警。请编写程序,在紧急状况启动时,向控制器输入控制指令。
7.积累调试程序经验,收集错误信息原因(每个同学收集3-5条错误信息原因,并输入电脑形成文字)。
1.个人觉得第一题,是为了让我们自己能够举一反三,熟悉例题。上传太占页面,所以我只把例题上传,自己私下改写。
1.1为了知道pc的变量所占的内存单元的大小,本来就只有整型变量,以下我再添加几行其他的变量
/******************************************************* ** 功能:显示输出各变量所占的字节数 ** *******************************************************/ #include<iostream> using namespace std; int main() { cout<<"number of bytes in int is:"<<sizeof(int)<<endl; cout<<"number of bytes in long int 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; cout<<"number of bytes in long double is:"<<sizeof(long double)<<endl; cout<<"number of bytes in char is:"<<sizeof(char)<<endl; return 0; }
1.2布尔类型的使用
/**************************************** ** 功能:布尔类型使用实例 ** ****************************************/ #include<iostream> //编译预处理命令 #include<iomanip> //使用控制符boolalpha需使用此头文件 using namespace std; //使用标准名空间 int main() //主函数 { bool flag=true; //定义布尔型变量flag,并初始化为true cout<<flag<<endl; //默认情况下,为非bool字母,输出整型值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; }
1.3赋值表达式语句举例 我再加上了一个e的赋值表达式
#include<iostream> using namespace std; int main() { int a,b,c,d,e; a=4; b=a; a=5; c=d=6; c*=a; d%=a+b; e=a*b; cout<<"a="<<a<<endl <<"b="<<b<<endl <<"c="<<c<<endl <<"d="<<d<<endl <<"e="<<e<<endl; return 0; }
1.4 数据溢出举例
#include<iostream> using namespace std; int main() { long i,j,m,n; i=1000; j=1000; m=i+j; n=i*j; cout<<"m="<<m<<endl; cout<<"n="<<n<<endl; return 0; }
一开始,n定义为短整型,超出了n=i*j的值,所以后来定义为长整型。
1.5++运算符使用举例
#include<iostream> using namespace std; int main() { int i=6,j,k,temp; j=++i; k=i++; ++i=1; cout<<"i="<<i<<endl; cout<<"j="<<j<<endl; cout<<"k="<<k<<endl; return 0; }1.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; //上述语句等价于 ch = ch >='a'&&ch<='z'?ch-32:ch; cout<<"The result is:"<<ch<<endl; return 0; }1.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; //使用标准名空间 std int main() //主函数 { float a,b,c; //定义单精度形变量a,b,c cout<<"请输入三角形的边长a:"; //屏幕输出“请输入三角形的边长a:” cin>>a; //输入a的长度 cout<<"请输入三角形的边长b:"; //屏幕输出“请输入三角形的边长b:” cin>>b; //输入b的长度 cout<<"请输入三角形的边长c:"; //屏幕输出“请输入三角形的边长c:” cin>>c; //输入c的长度 while(a+b<=c||a+c<=b||b+c<=a) //循环结构程序 { cout<<"输入错误,请重新输入三角形的边长\n"; cout<<"请输入三角形的边长a:"; //屏幕输出“请输入三角形的边长a:” cin>>a; //输入a的长度 cout<<"请输入三角形的边长b:"; //屏幕输出“请输入三角形的边长b:” cin>>b; //输入b的长度 cout<<"请输入三角形的边长c:"; //屏幕输出“请输入三角形的边长c:” cin>>c; //输入c的长度 } float y,p,s; //定义单精度形变量y,p,s y=a+b+c; //y为三角形的周长 p=y/2; //p为三角形周长的二分之一 s=sqrt(p*(p-a)*(p-b)*(p-c)); //s为三角形的面积 cout<<"三角形的面积为:"<<s<<endl; //屏幕显示输出三角形的面积大小 cout<<"三角形的周长为:"<<y<<endl; //屏幕显示输出三角形的周长大小 return 0; }
3.我把课后习题两道小题合在一起,第一道题的计算结果为13.7,第二道题的计算结果为2.5.
#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<<endl; float x=2.5,y=4.7,z; int a=7; z=x+a%3*(int(x+y)%2)/4; cout<<z<<endl; return 0; }
4.这是求一元二次方程的解。由于一开始对if语句不是很熟用,对判断方程是否存在实数根,调试了很久,因为用vc编译时,没有显示错误,但是在输入几个系数时,得出的结果总是大跌眼镜。后来经过几次修改,在if语句中再嵌套一个if语句,才得以解决。
#include<iostream> #include<math.h> using namespace std; int main() { double x1,x2,i,a,b,c; cout<<"输入方程 ax2+bx+c=0 中的a:"; cin>>a; cout<<"输入方程 ax2+bx+c=0 中的b:"; cin>>b; cout<<"输入方程 ax2+bx+c=0 中的c:"; cin>>c; i=sqrt(b*b-4*a*c); if(i>=0) { x1=(-b+i)/(2*a); x2=(-b-i)/(2*a); cout<<"方程的两个根为:x1="<<x1<<" ,x2="<<x2<<endl; } else cout<<"此方程无解!"<<endl; return 0; }
以上为随意输入三个系数得出的解。
5
这个为加密程序
#include<iostream> //编译预处理命令 using namespace std; //使用标准名空间 std /*以下是主函数*/ int main() { char a[20],b[20],c[20]; //定义数组a,数组b和数组c为字符型变量,每组数组有20个数组元素 int i; //定义整型变量i cout<<"请输入你的姓名拼音进行加密"<<endl; //显示输出“请输入你的姓名拼音进行加密” cin.get(a,20); //cin.get(字符数组名,接收字符数目)用来接收一行字符串,可以接收空格 cout<<"加密完成"<<endl; //显示输出“加密完成” for(i=0;i<20;i++) //对所输入的字符串进行加密 { if(a[i]==0) //当数组a[i]==0时,结束循环 { break; } c[i]=a[i]; //把数组a中的每一个元素一一赋值给相对应数组c中的元素 c[i]=c[i]+5; //数组c中每个元素加上5后再一一赋值给数组c,也就是说这里就是进行加密 b[i]=c[i]; //把数组c中的每一个元素一一赋值给相对应数组b中的元素 cout<<b[i]; //输出数组b中的字符 } cout<<endl; return 0; }这是加密后的结果
这个是解密的程序
#include<iostream> //编译预处理命令 using namespace std; //使用标准名空间 std /*以下是主函数*/ int main() { char a[20],b[20],c[20]; //定义数组a,数组b和数组c为字符型变量,每组数组有20个数组元素 int i; //定义整型变量i cout<<"请输入你所要解密的字母"<<endl; //显示输出“请输入你所要解密的字母” cin.get(a,20); //cin.get(字符数组名,接收字符数目)用来接收一行字符串,可以接收空格 cout<<"解密完成"<<endl; //显示输出“解密完成” for(i=0;i<20;i++) //对所输入的字符串进行加密 { if(a[i]==0) //当数组a[i]==0时,结束循环 { break; } c[i]=a[i]; //把数组a中的每一个元素一一赋值给相对应数组c中的元素 c[i]=c[i]-5; //数组c中每个元素减去5后再一一赋值给数组c,也就是说这里就是进行解密 b[i]=c[i]; //把数组c中的每一个元素一一赋值给相对应数组b中的元素 cout<<b[i]; //输出数组b中的字符 } cout<<endl; return 0; }解密的结果
6.暂时还没做,等周末再把第6题做好.
7.一般出现的问题是有时候语句缺少";'。其他的基本上没什么问题。
相关文章推荐
- 第三周作业——冒泡排序和归并排序
- 软件项目管理第三周作业
- 第三周作业之功能测试
- 第三周作业
- [作业] 马哥2016全新Linux+Python高端运维班第三周作业
- 马哥2016全新Linux+Python高端运维班第三周作业
- 第三周作业
- 第三周作业
- 第三周作业
- 马哥2016全新Linux+Python高端运维班第三周作业作答
- 深度学习第二课 改善深层神经网络:超参数调试、正则化以及优化 第三周超参数调试+Batch normalization笔记和作业
- programming language 第三周作业答案
- 第三周作业
- 第三周作业
- DeepLearing学习笔记-改善深层神经网络(第三周作业-TensorFlow使用)
- C语言--第三周作业评分和总结(5班)
- 第三周编程作业1 奇偶个数
- 括号匹配_boolan(博览网)_第三门课_第三周_作业
- 第三周作业
- RFID第三周课程作业