31 Mayıs 2012 Perşembe

Girilen sayıyı tersten yazdırma






#include<stdio.h>
#include<math.h>

int tersCevir(int);
int kacBasamakli(int);

int main()
{

int sa;

printf("sayi giriniz: ");
scanf("%d",&sa);

printf("Sayinin tersi:%d\n",tersCevir(sa));
return 0;
}

int tersCevir(int sayi)
{
int a,b,c,x,i=0,number=0,k;
a=pow(10,kacBasamakli(sayi)-1);/*sayi eger 4 basamakli ise a ya 1000 atanır ilk basta*/

while(a>=1 && i<kacBasamakli(sayi))
{
k=sayi/pow(10,i);/*i degeri ilk başta 0 oldugu icin sayi 1'e bolunup k ya atanır*/

x=k%10;/*k nın 10'a bolumunden kalanı x'e atanir*/

b=x*a;/*x a'nın ilk degeri olan 1000 ile carpılır  */


number+=b;

a/=10;
i++;

}
     
return number;

}


int kacBasamakli(int say)
{
int basamak=0;
if(say>0)

{
while(say>0)

{
say/=10;

basamak++;
}
return basamak;
}

else if(say==0)
return 1;



}

Hiç yorum yok:

Yorum Gönder