Bu sene Algoritma ve Programlama dersi almamama rağmen hem birinci sınıflara yardımcı olsun, hem sitemin trafiği artsın :D, hem de internetteki C kaynak kodu örnekleri artsın diye ödev çözümlerini Didem’den alıp sizinle paylaşıyorum.
Umuyorum burada paylaşılanlar birinin işine yarar… Kaynak kodlarını paylaştığı için Didem’e çok teşekkür ediyorum.
#include <stdio.h>
#include <stdlib.h>
int main() {
int sayi,basamak1,basamak2,basamak3,basamak4;
//kullanicidan alinacak sayi ve islemlerde kullanilacak degiskenler
printf("Lutfen -9999 ile +9999 arasinda bir tamsayi giriniz!\n");
scanf("%d",&sayi);
//kullanicidan alinan sayiyi sayi degiskenine atiyor.
if(sayi==0) {
printf("Sifir");
return 0;
//sayi sifir ise islemlere girmeden yaziyor ve programdan cikiyor.
} if((sayi<-9999)||(sayi>9999)) {
printf("Hatali Girdi!");
return 0;
//sayi -9999dan kucuk ya da 9999dan buyukse hata verip programdan cikiyor.
} else if((sayi<0)&&(sayi>=-9999)) {
sayi=sayi*-1;
printf("eksi");
//sayi negatif ise sayiyi pozitif tamsayiya cevirip, basina eksi yazdırıyor.
}
/*buradan itiaren sayimiz artık her sekilde pozitif ve hata kontrollerinin en basinda yapilmis
olmasindan dolayi 0 ile 10000 arasinda. */
basamak1=sayi%10;
basamak2=(sayi%100)/10;
basamak3=(sayi%1000)/100;
basamak4=sayi/1000;
/*bize lazim olan basamak degerlerini veren islemler dizisi. basamak1 icin yalnizca 10a gore
mod aliniyor, boylece birler basamagi elde ediliyor. basamak2 icin 100e gore mod alinip 10 a
kalansiz bolunme yapiliyor ki birler basamagi islem disi kalsin. diger basamaklar icin de
benzeri sekilde devam ediyor. */
switch(basamak4){
case 1: printf("bin");
break;
case 2: printf("ikibin");
break;
case 3: printf("ucbin");
break;
case 4: printf("dortbin");
break;
case 5: printf("besbin");
break;
case 6: printf("altibin");
break;
case 7: printf("yedibin");
break;
case 8: printf("sekizbin");
break;
case 9: printf("dokuzbin");
break;
default: printf("");
break;
//binler basamagi varsa degerini yaziyor, yoksa yazmadan geciyor.
}
switch(basamak3){
case 1: printf("yuz");
break;
case 2: printf("ikiyuz");
break;
case 3: printf("ucyuz");
break;
case 4: printf("dortyuz");
break;
case 5: printf("besyuz");
break;
case 6: printf("altiyuz");
break;
case 7: printf("yediyuz");
break;
case 8: printf("sekizyuz");
break;
case 9: printf("dokuzyuz");
break;
default: printf("");
break;
//yuzler basamagi varsa degerini yaziyor, yoksa atlayıp geciyor.
}
switch(basamak2){
case 1: printf("on");
break;
case 2: printf("yirmi");
break;
case 3: printf("otuz");
break;
case 4: printf("kirk");
break;
case 5: printf("elli");
break;
case 6: printf("altmis");
break;
case 7: printf("yetmis");
break;
case 8: printf("seksen");
break;
case 9: printf("doksan");
break;
default: printf("");
break;
//onlar basamagini kontrol ediyor, varsa yaziyor, yoksa atliyor.
}
switch(basamak1){
case 1: printf("bir");
break;
case 2: printf("iki");
break;
case 3: printf("uc");
break;
case 4: printf("dort");
break;
case 5: printf("bes");
break;
case 6: printf("alti");
break;
case 7: printf("yedi");
break;
case 8: printf("sekiz");
break;
case 9: printf("dokuz");
break;
default: printf("");
break;
//son olarak birler basamagini kontrol ediyor ve yazdiriyor.
}
return 0;
}