Programozó versenyek

Levelező Prog1 gyakorlati számonkérés, 2021. június 5.

2021. június 5. 14:00 – 2021. június 5. 17:00

Múló napok

Hány nap telt el az 1848. március 15-i események és a pákozdi ütközet között? Hát az isaszegi csata és Buda várának visszafoglalása között? Ugye, nem is olyan egyszerű ezekre a kérdésekre válaszolni?! Elérkezett tehát az idő, hogy írjon egy olyan C függvényt, amely paraméterként megkap egy évszámot, továbbá azon év két napjának hónap- és napszámát! A két nap közül a második semmiképpen sem előzi meg az elsőt. A paraméterek pontos sorrendjét lásd a példaként megadott main.c függvényben! A függvény visszatérési értéke legyen a két időpont közötti napok száma! A függvény specifikációja a következő:

A függvény specifikációja

int days_between(int, int, int, int, int);

Megjegyzés

A függvényt helyezze a days_between.c nevű állományba, és ezt az állományt küldje be megoldásként a kiértékelő rendszernek! Megoldását a példa bemenetben szereplő adatokkal az alábbi két állomány segítségével tesztelheti. Megoldásának kiértékelését a tesztelő rendszer nem feltétlenül ezeknek az állományoknak a felhasználásával végzi!

main.c

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5.   int year, month1, day1, month2, day2;
  6.   int days_between(int, int, int, int, int);
  7.   while (scanf("%d %d %d %d %d", &year, &month1, &day1, &month2, &day2) != EOF)
  8.   {
  9.     int res = days_between(year, month1, day1, month2, day2);
  10.     printf("%d\n", res);
  11.   }
  12.   return EXIT_SUCCESS;
  13. }
letöltés szöveges állományként

Makefile

  1. CC = gcc
  2. OBJS = main.o days_between.o
  3. TARGETS = main
  4. all: $(TARGETS)
  5. main: $(OBJS)
  6. $(CC) $(OBJS) -o main
  7. main.o: main.c
  8. $(CC) -c main.c
  9. days_between.o: days_between.c
  10. $(CC) -c days_between.c
  11. clean:
  12. rm -rf $(OBJS) *~ $(TARGETS)
letöltés szöveges állományként

Példa bemenet

  1. 1848 1 1 12 31
  2. 1848 3 15 9 29
  3. 1849 1 1 12 31
  4. 1849 4 6 5 21
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. 365
  2. 198
  3. 364
  4. 45
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.