C语言程序设计第四次作业——选择结构(2)

(一)改错题

输出三角形的面积和周长,输入三角形的三条边a、b、c,如果能构成一个三角形,输出面积area和周长perimeter(保留2位小数);否则,输出“These sides do not correspond to a valid triangle”。

错误一

丢了一个小括号

改正方法 在最后一个小括号后在加一个小括号

错误二

没有与else相匹配的if

改正方法  将if后边的语句块用花括号{}括起来

错误 三

 

 检查代码发现if后的判断语句应用&&连接

改正方法  将if判断语句中所有的||改成&& 

运行结果  

(二)学习总结

两者本质的区别是 if-else语句更适合于对区间(范围)的判断,而switch语句更适合于对离散值的判断
参考链接 https://zhidao.baidu.com/question/332651860.html

(三)实验总结

 
7-2 比较大小

#include<stdio.h>
int main()
{
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if (x>y)
{
t=x;
x=y;
y=t;
}
if(x>z)
{
t=z;
z=x;
x=t;
}
if(y>z)
{
t=y;
y=z;
z=t;
}
printf("%d->%d->%d\n",x,y,z);
return 0;
}

7-4 高速公路超速处罚

#include <stdio.h>
#include <stdlib.h>

int main()
{
int m,n;
double a;
scanf("%d %d",&m,&n);
a=(double)(m-n)*100/(double)n;
if(a<10||m<n)
printf("OK");
else if(a<50)
printf("Exceed %.0f%%. Ticket 200",a);
else
printf("Exceed %.0f%%. License Revoked",a);
return 0;
}

7-6 计算油费

#include<stdio.h>
int main()
{
float r1,r2,s;
int a,b;
char c;
s=0;
scanf("%d %d %c",&a,&b,&c);
switch(b)
{
case 90 : r1=6.95; break;
case 93 : r1=7.44; break;
case 97 : r1=7.93; break;
}
switch(c)
{
case 'm' : r2=0.95; break;
case 'e' : r2=0.97; break;
}
s=r1*r2*a;
printf("%.2f",s);
return 0;
}

7-8 12-24小时制

#include <stdio.h>
int main()
{
int hour,c, minute;
scanf("%d%c%d",&hour,&c,&minute);
if(hour>=0 && hour<12)
printf("%d:%d AM\n",hour,minute);
else if(hour==12)
printf("12:%d PM\n",minute );
else
printf("%d:%d PM\n",hour-12,minute);
return 0;
}

5)本题PTA提交列表

 

转载于:https://www.cnblogs.com/wsd-lian/p/7787417.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值