1. 程式人生 > >第二章實驗作業2-7題

第二章實驗作業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條件沒有匹配好,應該適當加{}