|
for ciklus
Írjon függvényt, amely paraméterként megkap egy sztringet (változónév) és két egész
számot (a-t és b-t)! A sztring egy C változó neve. A függvény a
paraméterként megkapott sztring megváltoztatása nélkül hozzon létre és adjon vissza egy olyan
új sztringet, amely a
for ( változónév = a; változónév < b; ++változónév ) { }
alakú for ciklust tartalmazza, ha a ≤ b, egyébként pedig a
for ( változónév = a; változónév > b; --változónév ) { }
alakú sztringet hozza létre! A sztringben a példában megadott módon, egy-egy szóközzel
válassza el egymástól az egyes lexikális egységeket!
A függvény specifikációja
char *for_loop( char *, int, int );
Megjegyzés
A függvényt helyezze a for.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
#include <stdio.h> #include <stdlib.h>
int main() { char v[ 1000 ]; int a, b; char *for_loop( char *, int, int );
while ( scanf( "%s%d%d", v, &a, &b ) != EOF ) { char *p = for_loop( v, a, b ); puts( p ); free( p ); } return EXIT_SUCCESS; }
letöltés szöveges állományként
Makefile
CC = gcc OBJS = main.o for.o TARGETS = main
all: $(TARGETS)
main: main.o for.o $(CC) main.o for.o -o main
main.o: main.c $(CC) -c main.c
for.o: for.c $(CC) -c for.c
clean: rm -rf $(OBJS) *~ $(TARGETS)
letöltés szöveges állományként
Példa bemenet
i 0 10 var 25 20 c_identifier -10 -10
letöltés szöveges állományként
A példa bemenethez tartozó kimenet
for ( i = 0; i < 10; ++i ) { } for ( var = 25; var > 20; --var ) { } for ( c_identifier = -10; c_identifier < -10; ++c_identifier ) { }
letöltés szöveges állományként
|
|