klonuj pobierz
  1. /* BMIから健康状態を判断するプログラム */
  2. /* 2023.09.30 Mori.Tomoki */
  3. #include <stdio.h>
  4. #define SINTYOU_LOW 120 /* 身長の下限 */
  5. #define SINTYOU_HIGH 220 /* 身長の上限 */
  6. #define TAIZYUU_LOW 30 /* 体重の下限 */
  7. #define TAIZYUU_HIGH 120 /* 体重の上限 */
  8.  
  9. int main(void) {
  10. int sintyou, taizyuu, BMI;
  11. printf("身長(cm)を入力してください。");
  12. scanf("%d",&sintyou);
  13. printf("体重(kg)を入力してください。");
  14. scanf("%d",&taizyuu);
  15. if (sintyou < SINTYOU_LOW ) {
  16. if (taizyuu < TAIZYUU_LOW )
  17. printf("身長と体重が異常なので計算できません");
  18. else if (taizyuu < TAIZYUU_HIGH )
  19. printf("身長が異常なので計算できません");
  20. else /* TAIZYUU_HIGH <= taizyuu */
  21. printf("身長と体重が異常なので計算できません");
  22. } else if (sintyou < SINTYOU_HIGH ) {
  23. if (taizyuu < TAIZYUU_LOW )
  24. printf("体重が異常なので計算できません");
  25. else if (TAIZYUU_HIGH <= taizyuu )
  26. printf("体重が異常なので計算できません");
  27. } else { /* SINTYOU <= sintyou */
  28. if (taizyuu < TAIZYUU_LOW )
  29. printf("身長と体重が異常なので計算できません");
  30. else if (taizyuu < TAIZYUU_HIGH )
  31. printf("身長が異常なので計算できません");
  32. else /* TAIZYUU_HIGH <= taizyuu */
  33. printf("身長と体重が異常なので計算できません");
  34. }
  35. BMI = taizyuu / (sintyou / 100) * (sintyou / 100);
  36. if (BMI < 16 ) {
  37. printf("痩せすぎです!");
  38. } else if (BMI < 17 ) {
  39. printf("痩せています。");
  40. } else if (BMI < 18.5 ) {
  41. printf("痩せぎみです。");
  42. } else if (BMI < 25 ) {
  43. printf("普通体重です。");
  44. } else if (BMI < 30 ) {
  45. printf("太りぎみです。");
  46. } else if (BMI < 35 ) {
  47. printf("太っています。");
  48. } else if (BMI < 40 ) {
  49. printf("太りすぎです。");
  50. } else { /* 40 <= BMI */
  51. printf("マジ太りすぎです!!!");
  52. }
  53. return 0;
  54. }
Sukces #stdin #stdout 0s 5316KB
stdin
174 70
stdout
身長(cm)を入力してください。体重(kg)を入力してください。マジ太りすぎです!!!