1.课前废话
了解小编的都知道,小编是一个“阴阳不定”的人,一会儿更新快,一会儿更新慢,那也是小编迫不得已啊,所以如果我不更新了,大家也不要怪罪,望大家谅解。
另外小编在今后会将内容加进一些其他,也是希望大家学的更好更多。
还有小编也改名了,改成“三国——张飞”,没错,就是那个天不怕地不怕的燕人张翼德,有人相当我大哥二哥我也不阻止。
2.情景导入
古埃及国王也称为法老,是古埃及最大的奴隶主,拥有之高无上的权利,他们被称为神的化身。
他们为自己修建了巨大的陵墓因其外形像汉字的“金”字,被称为“金字塔”。金字塔是法老权力的象征,埃及至今共发现96座金字塔。
3.课前小试
金字塔的底是正方形,侧面由四个大小相等的等腰三角形构成。试编译程序,输入底和高,输出三角形的面积。
三角形面积公式:三角形的高*三角形的底/2。
参考答案:
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,h,s;
cout<<"a,b=";
cin>>a>>h;
s=a*h/2;
cout<<"s="<<s<<endl;
return 0;
}
运行结果:
a,h=3 5(红色部分为输入的)
s=7
4.小明的插嘴
不对呀?三角形的底是3米,高是5米,面积应为7.5平方米,程序为何输出7,而不输出7.5呢?
5.张飞之讲解
程序执行赋值语句“s=a*h/2;”时,先计算出a*b/2的值,但因为变量a,h和常量2都是整型,计算3*5/2时就会自动取整(只取小数部分,整数部分截去)为7,然后把7赋值给s。
为了正确的储存s的值,需要把s定义为单精度实数(浮点数)float.
6.张飞之纠正
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,h;
flaot s;
cout<<"a,h=";
cin>>a>>h;
s=a*h/2.0; //这里要写实数2.0,不能写成整数2
cout<<"s="<<s<<endl;
return 0;
}
运行结果:
a,h=3 5(红色部分为输入的)
s=7.5;
同学们,想一下为什么求面积时要写成“s=a*h/2.0;”,不能直接写成“s=a*h/2;”呢?
虽然已经把s定义为单精度实数float,但因为变量a,b和常量2都是整型,计算a*h/2时还是按整形的方式来计算,其结果就自动取整为7,然后把整形7自动转化为单精度实数7.0,再赋值给单精度实数变量s。
而“s=a*h/2.0;”,虽然变量a和h为整型,但常量2.0是实数,计算3*5/2.0时就按实数方式来计算,就是7.5了。
7.课后作业
云兰阁A1001到A1021都能做了。
答案小编单独发。