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提交列表

 

posted on 2017-11-05 14:50  浅忆丶幻梦  阅读(169)  评论(0编辑  收藏  举报

导航