上の「かつ」のような演算を行うのが「論理演算式」です。age >= 18「かつ」age < 25「かつ」height > 165「かつ」weight > 50
上の条件を論理演算式を使って書くと次のようになります。
A && B A と B の両方が真の場合に限り真(論理積) A || B A か B のいずれかが真であれば真(論理和) !A A が真なら偽、偽なら真(否定)
age >= 18 && age < 25 && height > 165 && weight > 50
/* ** プログラム名: kadai27 ** 動作: 成績判定プログラム? ** 作者: 自分の名前、学籍番号 ** 日付: 今日の日付 */ #include <stdio.h> int main(void) { int mark; /* 点数 */ int fuka = 0; /* 60点未満の教科の数 */ int daifuka = 0;/* 30点未満の教科の数 */ printf("国語の点数を入れてください:"); scanf("%d", &mark); if (mark < 30) { daifuka++; } else if (mark < 60) { fuka++; } printf("数学の点数を入れてください:"); scanf("%d", &mark); if (mark < 30) { daifuka++; } else if (mark < 60) { fuka++; } printf("英語の点数を入れてください:"); scanf("%d", &mark); if (mark < 30) { daifuka++; } else if (mark < 60) { fuka++; } printf("理科の点数を入れてください:"); scanf("%d", &mark); if (mark < 30) { daifuka++; } else if (mark < 60) { fuka++; } printf("社会の点数を入れてください:"); scanf("%d", &mark); if (mark < 30) { daifuka++; } else if (mark < 60) { fuka++; } if ( ???? ) { printf("留年しなさい。\n"); } else { printf("進級させてあげましょう。\n"); } return 0; } |