1. Kirjoita ohjelma, joka tulostaa annettua merkkiä käyttäen suorakulmion, jonka leveys on k merkkiä, korkeus n riviä. Ohjelma saa komentorivillä kuvion leveyden, korkeuden ja käytettävän merkin. Esim. nelikulmio 10 4 c tulostaa cccccccccc cccccccccc cccccccccc cccccccccc 2. Tee oma versiosi strcat-funktiosta. Funktio lisää merkkijonon s2 merkkijonon s1 perään. Parametri n kertoo merkkijonon s1 maksimipituuden. 3. Kirjoita ohjelma, jolla teet komennon nurin. Komento nurin kääntää sille argumentteina annetut merkkijonot päinvastaiseen järjestykseen. Esimerkiksi nurin tämä kääntyy tulostaa ämät yytnääk. Ps. Suoritettavan ohjelman nimeksi saat nurin kääntämällä sen optiolla -o nurin: gcc -Wall -ansi -o nurin .c 4. Tee ohjelma, joka arpoo 7 lottonumeroa ja 3 lisänumeroa. Sama numero saa lottonumeroissa esiintyä korkeintaan kerran. Jaa ohjelma järkevästi funktioihin. Tee numeroarvoista 7 ja 3 helposti muutettavia. Kirjoita ohjelma, jonka avulla voit laskea yhteen tai kertoa keskenään kaksi murtolukua. (1997 5/3). Kirjoita funktio, joka kääntää linkitetyn listan. Listan alkiot sisältävät kirjaimia. Tee kääntäminen osoittimen arvoja muuttamalla, älä vaihda solmujen sisältämiä kirjaimia. 1997 7/4 Suunnittele sopivat rakenteet kompleksiluvuille. Kirjoita näitä rakenteita käyttävät funktiot kompleksilukujen yhteen- ja kertolaskulle sekä kompleksiluvun tulostukselle. Kompleksiluku muodostuu reaaliosasta ja imaginaariosasta: x= a +bi. Yhteenlaskussa lasketaan lukuja yhteen termeittäin, kerolaskussa i*i =-1. Kertoimet a ja b ovat reaalilukuja. Kirjoita ohjelma, joka lukee kaksi mielivaltaisen isoa kokonaislukua ja laskee niiden summan (1998 6/3) Kirjoita ohjelma, joka saa komentorivin argumentteina joukon tiedostojen nimiä ja tulostaa niiden sisältämien rivien lukumäärän tiedostoittain. Jos jotain annettua tiedostoa ei ole olemassa, ohjelma tulostaa tämän nimen kohdalla virheilmoituksen, mutta jatkaa muiden tiedostojen rivimäärien tulostamista.