第五周编程总结
题目1 .计算存款利息
本题目要求计算存款利息,计算公式为interest=money×(1+rate)year−money,其中interest为存款到期时的利息(税前),money是存款金额,year是存期,rate是年利率。
1).实验代码
#include<stdio.h>
#include<math.h>
int main()
{
float money,year,rate,interest; //定义变量
scanf("%f %f %f",&money,&year,&rate); //输入款金额,存期,年利率
interest=money*pow((1+rate),year)-money; //计算利息
printf("interest = %.2f",interest); //输出答案
return 0;
}
2). 设计思路
第一步:定义变量
第二步:输入变量
第三步:计算利息
第四步:输出答案
3).本题调试过程碰到的问题及解决方法
问题:未按照题目要求输出答案
解决方法:按照题目要求重新输出答案
4).运行结果截图
题目2. 计算分段函数
本题目要求计算下列分段函数f(x)的值:
注:可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幂
1)实验代码
#include<stdio.h>
#include<math.h>
int main()
{
float x,result; //定义单精度浮点型变量
scanf("%f",&x); //输入实属x
if(x>=0) //实数x的值大于0时
{
result=sqrt(x); //计算
}
else //实数x的值小于0时
{
result=pow((1+x),2)+2*x+1/x; //计算
}
printf("f(%.2f) = %.2f",x,result); //输出答案
return 0;
}
2).设计思路
第一步:定义变量
第二步:输入实数
第三步:调用if-else语句
第四步:计算
第五步:输出答案
3).本题调试过程碰到的问题及解决方法
问题:计算平方的格式错误
解决方法:对照书本重新计算平方
4).运行结果截图
题目3 .超速判断
模拟交通警察的雷达测速仪。输入汽车速度,如果速度超出60 mph,则显示“Speeding”,否则显示“OK”
1).实验代码
#include<stdio.h>
int main()
{
int v; //定义变量
scanf("%d",&v); //输入车速v
if(v>60) //车速v超过60
{
printf("Speed: %d - Speeding\n",v); //输出
}
else //未超速
{
printf("Speed: %d - OK\n",v); // 输出
}
return 0;
}
2).设计思路
第一步:定义浮点型变量
第二步:调用if-else语句
第三步:输出答案
3).本题调试过程碰到的问题及解决方法
问题:输入输出的格式错误
解决方法:按照输入输出样例,重新输入输出
4).运行结果截图
题目4. 阶梯电价
为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。
1).实验代码
#include<stdio.h>
int main()
{
float x,cost; //定义变量
scanf("%f",&x); //输入用电量x
if(x<0) //用电量x小于0时
{
printf("Invalid Value!\n");
}
else //用电量x大于0时
{
if(x<=50) //用电量x小于等于50时
{
cost=x*0.53; //计算电费cost;
}
else //用电量大于50时
{
cost=0.53*50+(x-50)*0.58; //计算电费cost
}
printf("cost = %.2f\n",cost); //输出电费cost
}
return 0;
}}
2).设计思路
第一步:定义变量
第二步:输入变量
第三步:调用if-else语句
第四步:分别计算不同用电量的电价
3).本题调试过程碰到的问题及解决方法
问题:if-else语句使用错误
解决方法:重新使用正确if-slse语句
4).运行结果截图
题目5. 输出三角形面积和周长
本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:area=√s(s−a)(s−b)(s−c),其中s=(a+b+c)/2
1).实验代码
#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c,area,perimeter,s; //定义变量
scanf("%f %f %f",&a,&b,&c); //输入三条边的边长
if(a+b>c&&b+c>a&&a+c>b) //判断三角形成立,需同时满足三个条件,用“&&”
{
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c)); //计算面积
perimeter=a+b+c; //计算周长
printf("area = %.2f; perimeter = %.2f",area,perimeter);//输出答案
}
else //三角形不成立时
{
printf("These sides do not correspond to a valid triangle\n");//输出结果
}
return 0;
}
2).设计思路
第一步:定一变量
第二步:调用if-else判断三角形是否成立
第三步:计算三角形面积与周长
第四步:输出答案
3).本题调试过程碰到的问题及解决方法
问题:没有判断三角形是否成立
解决方法:重新输入三角形成立的条件,进行判断
4).运行结果截图
题目6 .三天打鱼两天晒网
中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?
1).实验代码
#include<stdio.h>
int main()
{
int N,Z; //定义变量
scanf("%d",&N); //输入天数
Z=N%5; //取余,判断什么时候打鱼,什么时候晒网
if(Z==0||Z==4) //余0或4即为晒网,“||”为“或”
{
printf("Drying in day %d\n",N);//输出答案
}
else
{
printf("Fishing in day %d\n",N);//输出答案
}
return 0;
}
2).设计思路
第一步:定义变量
第二步:判断何时打鱼,何时晒网
第三步:调用if-else语句
第四步:输出答案
3).本题调试过程碰到的问题及解决方法
问题:当天为晒网的条件输入错误
解决方法:重新输入当天为晒网的条件