计算分段函数;
#include<stdio.h> int main() { float a,b; scanf("%f",&a); if(a==0) { printf("f(%.1f) = 0.0",a); } else { b=1/a; printf("f(%.1f) = %.1f",a,b); } return 0; }
第一步;输入a,b
第二步;判断a是否等于0
第三步;若a等于0,则b=0,输出
第四步;若a不等于0,则计算b=1/a,输出
无问题
A除以B
#include<stdio.h>
int main()
{
int a,b;
float c;
scanf("%d %d",&a,&b);
if(b==0)
{
printf("%d/0=Error",a);
}
else
{
c=(float)a/b;
if(b<0)
{
printf("%d/(%d)=%.2f",a,b,c);
}
else
{
printf("%d/%d=%.2f",a,b,c);
}
}
return 0;
}
第一步;输入a,b,c
第二步;判断b是否等于0,
第三部;若b等于0则输出Error
第四步;若b不等于0则判断b是否为负数
第五步;若b为负数则加括号,并计算c=a/(b)
第六步;若b不为负数则c=a/b
第七部;输出
无问题
阶梯电价
#include<stdio.h> int main() { float a,b,c; scanf("%f",&a); if(a<0) { printf("Invalid Value!"); } else { if(a<=50) { b=0.53*a; } else { b=0.58*(a-50)+0.53*50; } printf("cost = %.2f",b); } return 0; }
第一步;输入a,b
第二步;判断a是否大于0
第三步;若a小于0,则输出lnvalid Value!
第四步;a>0,判断a是否大于50
第五步;若a>50,计算b=0.58*(a-50)+0.53*50
第六步;若a<50, 计算b=0.53*a
第七步;输出cost = b
无问题
出租车车计价
#include<stdio.h> int main() { float a; int b,c; scanf("%.1f %d",&a,&b); if(a<=3) { printf("10"); } else { if(a<=10) { c=10+(a-3)*2; } else { c=24+(a-10)*3; } printf("%.0f",c+(b/5)*2); } return 0; }
第一步;输入路程a,等待时间b,路程车费c
第二步;判断a是否小于等于3
第三步;若a小于等于3则输出10
第四步;判断a是否小于等于10
第五步;若a小于等于10则c=10+(a-3)*2
第六步;若a大于10则c=24+(a-10)*3
第七步;计算时间车费为b/5*2
第八步;输出总车费为c+b/5*2
第九步;结束
问题;程序运行成功,但无论输入的是什么值,输出的都是10,自己找不到问题,希望学长可以指出
本周练习if语句主要注意判断的对错于对应的结果,注意等号的使用,仔细看题,分析是否需要用等号,在测试是多用一些特殊的值去验证,就可以看出判断是否正确。
刘炜旗,王鑫宇,史泽文做的很好,在做pta是也是得到了他们的帮助才能顺利的做完。
刘炜旗;http://www.cnblogs.com/ryo-/p/7731894.html
王鑫宇;http://www.cnblogs.com/wxy5336/p/7746488.html
史泽文;http://www.cnblogs.com/shilcz/p/7732077.html