Vi har på en tidligere slide set på følgende program med en if-else kæde:
#include <stdio.h> int main(void) { int percent, grade; printf("How many percent? "); scanf("%d",&percent); if (percent >= 90) grade = 11; else if (percent >= 82) grade = 10; else if (percent >= 74) grade = 9; else if (percent >= 66) grade = 8; else if (percent >= 58) grade = 7; else if (percent >= 50) grade = 6; else if (percent >= 40) grade = 5; else if (percent >= 10) grade = 3; else grade = 0; printf("%d percent corresponds to the Danish grade %d\n\n", percent, grade); return 0; }
Nu bytter vi om på tilfældene i if-else kæden (dog bevarer vi else-delen):
#include <stdio.h> int main(void) { int percent, grade; printf("How many percent? "); scanf("%d",&percent); if (percent >= 10) grade = 3; else if (percent >= 40) grade = 5; else if (percent >= 50) grade = 6; else if (percent >= 58) grade = 7; else if (percent >= 66) grade = 8; else if (percent >= 74) grade = 9; else if (percent >= 82) grade = 10; else if (percent >= 90) grade = 11; else grade = 0; printf("%d percent corresponds to the Danish grade %d\n\n", percent, grade); return 0; }
Ændrer dette betydningen af programmet? Uddrag en generel tommelfingerregel for ordningen af de logiske udtryk i en if-else kæde.
Løsningen til denne opgave er pt. ikke frigivet