Girilen Sayıyı Ekrana Yazıyla Yazar
ör: 1010
bin on
#include "stdafx.h"
#include "math.h"
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int rakam,sayac,dizi,dizi_kontrol;
int uclu_dizi[5];
const char birler[10][6]={"sifir","bir","iki","uc","dort","bes","alti","yedi","sekiz","dokuz"};
const char onlar[9][7]={"on","yirmi","otuz","kirk","elli","altmis","yetmis","seksen","doksan"};
const char binler[3][10]={"yuz","bin","milyon"};
while(1)
{
dizi=0;
printf("\n\n");
scanf("%d",&rakam);
if(rakam==0)
printf("%s",birler[0]);
else
{
if(rakam<0){
printf("eksi ");
rakam*=-1;
}
//kaçtane binlik ayraç olduğunu hesaplar
for(sayac=0;sayac<=3;sayac++){
if(rakam/(int)pow((double)10,3*(sayac+1))<=0)
break;
}
dizi_kontrol=sayac;
//diziye sayıyı 3'lü ayırarak yerleştirir
while(dizi<=dizi_kontrol){
uclu_dizi[dizi]=rakam/(int)pow((double)10,3*sayac);
rakam%=(int)pow((double)10,3*sayac);
dizi++;
sayac--;
}
sayac=0;
while(sayac<=dizi_kontrol){
if(uclu_dizi[sayac]/100>0){
if(uclu_dizi[sayac]/100==1)
printf("%s ",binler[0]);
else{
printf("%s",birler[uclu_dizi[sayac]/100]);
printf("%s ",binler[0]);
}
if((uclu_dizi[sayac]%100)/10>0)
printf("%s",onlar[(uclu_dizi[sayac]%100)/10-1]);
if(uclu_dizi[sayac]%10>0)
printf("%s ",birler[uclu_dizi[sayac]%10]);
}
else{
if(uclu_dizi[sayac]/10>0){
printf("%s",onlar[uclu_dizi[sayac]/10-1]);
if(uclu_dizi[sayac]%10!=0)
printf("%s ",birler[uclu_dizi[sayac]%10]);
}
else
if(dizi_kontrol-1!=sayac)
printf("%s ",birler[uclu_dizi[sayac]%10]);
else
if(uclu_dizi[sayac]%10!=1)
printf("%s ",birler[uclu_dizi[sayac]%10]);
}
if(dizi_kontrol!=sayac)
printf("%s ",binler[dizi_kontrol-sayac]);
sayac++;
}
}
}
return 0;
}