#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <locale.h> #include <math.h> main(void) { setlocale(LC_ALL, "Turkish"); float s1; int s2; printf("Ondalıklı Sayı Giriniz= ",s1); scanf("%f",&s1); int tam = s1; int ond = round((s1-tam)*100); int kalan,sayac = 0,kare,i; printf("Tam Kısım = %d\n",tam); printf("Ondalıklı Kısım = %d\n", ond); if(tam < ond){ kalan = ond - tam; printf("Kalan Sayı = %d\n",kalan); } else{ kalan = tam - ond; printf("Kalan Sayı = %d\n",kalan); } for(i = 1; i < 1000; i++) { kare = i*i; if(kare<=kalan) {
sayac=i+1; }
} printf("Kalan Sayıya En Yakın Sayının Karesi = %d\n",sayac); printf("%d Karesi = %d\n", sayac,sayac*sayac);
getch();
}
C++ Ondalıklı girilen sayının Tam ve Ondalıklı Kısmının Farkına En yakın sayının karesini bulan kod. Ama bir yerde yanlış yapıyorum galiba yardım edermisiniz???