Programozó versenyek

Magas szintű programozási nyelvek 1, 2018. május 8., K12 ZH

2018. május 8. 12:05 – 2018. május 8. 13:50

Végelszámolás

Adott a következő fejlécállomány:

myheader.h

  1. #ifndef _MYHEADER_H
  2. #define _MYHEADER_H 1
  3. int foo(const char *);
  4. #endif /* myheader.h */
letöltés szöveges állományként

Írja meg a myheader.h állományban deklarált foo() függvényt, amely paraméterként megkap egy sztringet! A sztring több, egymástól pontosan egy szóközzel elválasztott karaktersorozatot tartalmaz, melyek közül az utolsó csak decimális számjegy karakterekből áll, legfeljebb négy darabból, így nemnegatív egész számként is értelmezhető (az összes többi karaktersorozatról nem állíthatunk ilyet teljes bizonyossággal). A függvény az eredeti sztring módosítása nélkül határozza meg és adja vissza a nemnegatív egész számként értelmezhető utolsó karaktersorozat számértékét!

Megjegyzés

A függvényt helyezze a foo.c nevű állományba, és ezt az állományt küldje be megoldásként a kiértékelő rendszernek! Megoldását az alábbi állományok 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. #include "myheader.h"
  4. int main()
  5. {
  6.     printf("%d\n", foo("alma korte 123"));
  7.     printf("%d\n", foo("1234"));
  8.     printf("%d\n", foo("Hibak szama: 0"));
  9.     printf("%d\n", foo("12 34 56 78 90"));
  10.     return EXIT_SUCCESS;
  11. }
letöltés szöveges állományként

Makefile

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

A példa tesztprogram kimenete

  1. 123
  2. 1234
  3. 0
  4. 90
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.