計算分段函數;
#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