/* compile with -std=c99 *//* compile with -std=c99 */Include C-libraries for input/output.
#include <stdio.h>
#include <stdlib.h>Unfortunately, I don’t have a PDF of the exam questions / problem statement. This is the file I submitted plus a little more comments.
int main1();
int main2();
int main3();
char *day_suffix(int day);
int is_even(int number);
int sum_even(int n);int main(int argc, char **argv)
{I built a switcher to execute the 3 subtasks by passing a command-line argument to the program. Super unnecessary, but I had the time.
if (argc > 1) {
int task = atoi(argv[1]);
if (task == 1) return main1();
if (task == 2) return main2();
if (task == 3) return main3();
printf("This exam has only 3 questions.\n");
return 0;
}
printf("Please indicate which exam question you want to run as the first argument!\n");
return 0;
}int main1() {
int day, month, year;
scanf("%d %d %d", &day, &month, &year);
printf("%d/%d %d%s\n", month, year, day, day_suffix(day));
return 0;
}char *day_suffix(int day) {
if (day == 1 || day == 21 || day == 31) return "st";
if (day == 2 || day == 22) return "nd";
if (day == 3 || day == 23) return "rd";
return "th";
}int main2() {
int v1[3];
int v2[3];a bit inelegant but is quick to type and works…
scanf("%i", &v1[0]);
scanf("%i", &v1[1]);
scanf("%i", &v1[2]);
scanf("%i", &v2[0]);
scanf("%i", &v2[1]);
scanf("%i", &v2[2]);
int dot = 0;
for (int i = 0; i < 3; i++) {
dot += v1[i] * v2[i];
}
printf("%i\n", dot);
return 0;
}int main3() {
int n;
scanf("%d", &n);
printf("%d\n", sum_even(n));
return 0;
}int is_even(int number) {
if (number % 2 == 0) {
return 1;
}
return 0;
}int sum_even(int n) {
int sum = 0;
for (int i = 2; i <= n; i++) {
if (is_even(i)) {
sum += i;
}
}
return sum;
}