//Kesinlikle "/"(bölme) işareti kullanılmamıştır.
//Sayılar - duyarlıklıdır.
//payda'nın 0 duyarlığı vardır.
//Sağlığa zararsız ve el değmeden yazılmıştır:D
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(void)
{
char sembol;
int sembay=0;//sembol bayrağı 0=+,1=-
int sayac=0;//"payda"nin "pay"da kaç tane var olduğunu sayacak
float pay,payda;
int duy;
printf("Bolme islemi yapacaginiz sayiyi giriniz:");
scanf("%f",&pay);
printf("Kaca bolmek sitiyorsunuz?");
scanf("%f",&payda);
if(pay<0||payda<0)//sembol bayrağının tavrını tanımlamak için(-,+)
sembay=1;//yukardaki durumda bayrak -'yi göstersin
if(pay<0&&payda<0||pay>0&&payda>0)//aynen;)
sembay=0;//yukarıdaki durumda bayrak +'yı göstersin
pay=sqrt(pow(pay,2));//mutlak değer(- ile işlem yapmamak için
payda=sqrt(pow(payda,2));
if(payda==0)//payda 0'a duyarlı
printf("Bolen \"0\" olamaz(Sonsuza yaklasir)\n");
else
{
do{ //bölü kullanmadığımız için,payın içinde kaç payda var?
if(pay<payda)
break;
pay=pay-payda;
sayac++;
}while(pay>=payda);
for(duy=1;(duy*payda)<=(100*pay);++duy)//bölü kullanmadığımız için 100 tabanında
{
}
duy--;// for döngümüzün hassasiyetliği 1 fazla çıkardığı için 1 azalt
if(sembay==0)//+ mı,- mi?
sembol=0;
else if(sembay==1)
sembol='-';
printf("cevap:%c%d,%d",sembol,sayac,duy);//sonuc
}
getch(); //bekle
return 0;//bitti
}