第二章实验作业2-7题

7实验作业

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

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


 

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

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


结果为:k=13.7

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

结果为:b=2.5

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

#include<iostream>
#include<math.h>
using namespace std;
int main()
{
	double a,b,c,t,x1,x2;
	cout<<"请输入二次项系数、一次项系数和常数项系数:";
	cin>>a>>b>>c;
	t=b*b-4*a*c;
	if(t>=0)
	{
		x1=(-b+sqrt(t))/(2*a);
		x2=(-b-sqrt(t))/(2*a);
		cout<<"x1="<<x1<<endl;
		cout<<"x2="<<x2<<endl;
	}
	else
		cout<<"此方程无解"<<endl;
	return 0;
}


 

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

这道题好难,看了班里一些高手的做法还是看读懂,我的知识还是不够,所以想等学到点上再补上这题,先空着好吧

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

这道题目也是不会,同上理由

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

1)在求三角形周长和面积时,调剂出现

error C2065: 'C' : undeclared identifier

error C2065: 'p' : undeclared identifier

error C2065: 'S' : undeclared identifier

执行 cl.exe 时出错.

三角形.obj - 1error(s), 0 warning(s)

原因分析:忘记定义周长C,中间变量p和面积S的类型

2)在求一元二次方程时,调剂出错

一元二次方程.cpp

error C2059: syntax error : 'bad suffix onnumber'

error C2146: syntax error : missing ';'before identifier 'ac'

error C2065: 'ac' : undeclared identifier

执行 cl.exe 时出错.

一元二次方程.obj - 1error(s), 0 warning(s)

原因:t=b*b-4ac;这个式子4ac之间的乘号不能省,应该改为t=b*b-4*a*c;

3)求一元二次方程时出现

一元二次方程.cpp

 error C2181: illegal else without matching if

执行 cl.exe 时出错.

 

一元二次方程.obj - 1error(s), 0 warning(s)

原因分析:if条件没有匹配好,应该适当加{}

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值