fork download
  1. #include <stdio.h>
  2.  
  3. // function prototype
  4. char calcLetterGrade(int score);
  5.  
  6. int main(void)
  7. {
  8. printf("Score: 95 -> Grade: %c\n", calcLetterGrade(95));
  9. printf("Score: 82 -> Grade: %c\n", calcLetterGrade(82));
  10. printf("Score: 75 -> Grade: %c\n", calcLetterGrade(75));
  11. printf("Score: 62 -> Grade: %c\n", calcLetterGrade(62));
  12. printf("Score: 45 -> Grade: %c\n", calcLetterGrade(45));
  13. printf("Score: -5 -> Grade: %c\n", calcLetterGrade(-5)); // invalid
  14. printf("Score: 150 -> Grade: %c\n", calcLetterGrade(150)); // invalid
  15. return 0;
  16. }
  17.  
  18. // **************************************************
  19. // Function: calcLetterGrade
  20. //
  21. // Description:
  22. // Maps a numeric test score (0–100) to a letter grade.
  23. // The grading scale is as follows:
  24. // 90–100 -> 'A'
  25. // 80–89 -> 'B'
  26. // 70–79 -> 'C'
  27. // 60–69 -> 'D'
  28. // 0–59 -> 'F'
  29. // Any score outside 0–100 returns 'I' (invalid).
  30. //
  31. // Parameters:
  32. // score - numeric test score
  33. //
  34. // Returns:
  35. // Letter grade ('A', 'B', 'C', 'D', 'F', or 'I')
  36. // **************************************************
  37. char calcLetterGrade(int score)
  38. {
  39. char result; /* letter grade result */
  40.  
  41. // map score to letter grade
  42. if (score >= 90)
  43. result = 'A';
  44. else if (score >= 80)
  45. result = 'B';
  46. else if (score >= 70)
  47. result = 'C';
  48. else if (score >= 60)
  49. result = 'D';
  50. else if (score >= 0)
  51. result = 'F';
  52. else
  53. result = 'I'; /* invalid score */
  54.  
  55. // check for invalid values over 100
  56. if (score > 100)
  57. result = 'I';
  58.  
  59. return result;
  60. }
Success #stdin #stdout 0.01s 5276KB
stdin
Standard input is empty
stdout
Score: 95 -> Grade: A
Score: 82 -> Grade: B
Score: 75 -> Grade: C
Score: 62 -> Grade: D
Score: 45 -> Grade: F
Score: -5 -> Grade: I
Score: 150 -> Grade: I