Pisanie funkcji rozpoczynamy od napisania nagłówki funkcji, która z zadania wynika, że przyjmuje napis.
Dodanie znacznika const przed argumentem jest opcjonalne i nie ma większego znaczenia dla działania funkcji, ale pomaga wykryć przez kompilator jakąkolwiek próbę modyfikacji napisu i pokazanie błędu.
W zadaniu należy zamienić wszystkie małe litery alfabetu łacińskiego na wielkie. Znaki są to dla komputera liczby, które są odpowiednio wyświetlane, dlatego możemy dodawać i odejmować liczbę do znaku. W zadaniu potrzebujemy znać odległość pomiędzy a i A. Przyjmijmy różnice za x wtedy a + x = A, b + x = B ... (2.) Operację tę wykonujemy na początku. (3.) Następnie tworzymy nowy dynamiczny napis, który będzie naszym wynikiem. (4. - 12.) Teraz musimy przejść po każdym znaku co realizują i (6.) dla każdego znaku sprawdzić czy znak jest mały. (7.) Jeśli tak to go zmieniamy, ale (9.) jeśli nie to tylko przepisujemy. Na koniec (13.) dopisujemy \0 do napisu na ostatnim miejscu i (14.) zwracamy powstały napis.
W celu zliczenia wszystkich znaków musimy mieć (2.) jakąś zmienną np. licznik, która będzie przechowywać ile cyfr już znaleźliśmy. Oczywiście na początek ustalamy wartość na 0. Następnie (3. - 8.) pętla while pozwoli nam sprawdzić każdy znak po kolei, aż do końca napisu. Wewnątrz (4.) mamy warunek, który sprawdza czy znak jest cyfrą - (5.) jeśli tak jest to zwiększamy licznik. (10.) Po zakończeniu pętli zwracamy ile cyfr znaleźliśmy.
Funkcja przyjmuje trzy argumenty: pierwszy i drugi typu char*, a trzeci char. Zwraca nam natomiast char*:
(2.) Na początek alokujemy nowy dynamiczny napis, którego długość to długość napis1 i napis2 + 2. Dodatkowe dwa, ponieważ należy uwzględnić znak końca napisu oraz dodatkowy znak c. Ponieważ będziemy przechodzić po wyniku i w międzyczasie po dwóch innych napisach. W przykładzie j służy do określenia pozycji do napisania w wyniku, a i określa, który znak odczytujemy z podanego napisu. Kolejno (5. - 9.) dopisujemy napis1, (11. - 12.) potem znak c i (14. - 19.) na koniec napis2. Należy zwrócić uwagę na zwiększanie zmiennej j, które następuje po przepisaniu z jakiegokolwiek napisu i po dopisaniu litery c. Na koniec dopisujemy (21.) znak specjalny \0 i (22.) zwracamy wynik.
Funkcja przyjmuje napis (typ char*) i zwraca napis (char*):
Zadanie jest bardzo podobne do sprawdzania czy podany napis jest palindromem. W celu przepisania wyrazu musimy znać długość wyniku, który równa się długość napisowi. W celu ułatwienia przepisywania (2.) znajdziemy długość napisu danego. Potem (3.) należy dokonać alokacji nowej przestrzeni w pamięci. Następnie (4. - 6.) zamieniamy pozycję znaków. Pierwszy jest ostatnim itd. W tym celu należy zauważyć, że znak z pozycji 0 znajdzie się na pozycji dlugosc - 1. Na sam koniec pamiętamy (7.) o znaku \0 i (8.) zwróceniu wyniku.
Napisane funkcje można przetestować przy pomocy poniższej funkcji main():