fork download
  1. #!/usr/bin/perl
  2. # your code goes here
  3.  
  4. #ボディマス指数(BMI)を算出
  5.  
  6. print"体重を入力して下さい(単位:キログラム):"; $KG1 = <STDIN>;
  7. print"身長を入力して下さい(単位:センチメートル):"; $CM1 = <STDIN>;
  8. print"\n";
  9.  
  10. #BMI=体重/身長**2
  11.  
  12. $M1 = $CM1 / 100;
  13. $BMI1 = $KG1 / ($M1 ** 2);
  14. $BMI2 = sprintf("%.1f",$BMI1);
  15.  
  16. #BMIと肥満の判断基準(状態)を表示
  17.  
  18. if($BMI2 < 18.5){
  19. $BMI3 = "低体重";
  20. print "あなたのBMIは$BMI2で、状態は「$BMI3」です。\n";
  21. }elsif($BMI2 < 25){
  22. $BMI3 = "普通体重";
  23. print "あなたのBMIは$BMI2で、状態は「$BMI3」です。\n";
  24. }elsif($BMI2 < 30){
  25. $BMI3 = "肥満(1度)";
  26. print "あなたのBMIは$BMI2で、状態は「$BMI3」です。\n";
  27. }elsif($BMI2 < 35){
  28. $BMI3 = "肥満(2度)";
  29. print "あなたのBMIは$BMI2で、状態は「$BMI3」です。\n";
  30. }elsif($BMI2 < 40){
  31. $BMI3 = "肥満(3度)";
  32. print "あなたのBMIは$BMI2で、状態は「$BMI3」です。\n";
  33. }elsif(40 <= $BMI2){
  34. $BMI3 = "肥満(4度)";
  35. print "あなたのBMIは$BMI2で、状態は「$BMI3」です。\n";
  36. }
  37.  
  38. #標準体重を算出
  39.  
  40. $AVE1 = $M1 ** 2 * 22;
  41. $AVE2 = sprintf("%.1f",$AVE1);
  42. $M2 = sprintf("%.1f",$M1);
  43.  
  44. print"身長が$M2"."mの人の標準体重は$AVE2"."kgです。\n";
  45.  
  46. #標準体重との差を表示
  47.  
  48. if($KG1 < $AVE2){
  49. $POSI1 = $AVE2 - $KG1;
  50. $POSI2 = sprintf("%.1f",$POSI1);
  51. print"あなたは標準体重より$POSI2"."kg少ないです。";
  52. }elsif($KG1 == $AVE2){
  53. $EQ1 = "差";
  54. print"標準体重との$EQ1はありません。";
  55. }elsif($KG1 > $AVE2){
  56. $NEGA1 = $KG1 - $AVE2;
  57. $NEGA2 = sprintf("%.1f",$NEGA1);
  58. print"あなたは標準体重より$NEGA2"."kg多いです。";
  59. }
Success #stdin #stdout 0s 6000KB
stdin
40.0
160.0
stdout
体重を入力して下さい(単位:キログラム):身長を入力して下さい(単位:センチメートル):
あなたのBMIは15.6で、状態は「低体重」です。
身長が1.6mの人の標準体重は56.3kgです。
あなたは標準体重より16.3kg少ないです。