50 likes | 299 Views
Soru1: İki kenarı verilen bir dik üçgenin hipotenüsün hesaplayan fonksiyonu tanımlayınız. Bu fonksiyonu aşağıda kenarları verilen üçgenlerin hipotenüslerini bulmak için bir programda kullanınız. Fonksiyon double türünden iki argüman almalı ve hipotenüsü double türünden döndürmeli.
E N D
Soru1: İki kenarı verilen bir dik üçgenin hipotenüsün hesaplayan fonksiyonu tanımlayınız. Bu fonksiyonu aşağıda kenarları verilen üçgenlerin hipotenüslerini bulmak için bir programda kullanınız. Fonksiyon double türünden iki argüman almalı ve hipotenüsü double türünden döndürmeli. double hipotenus( double s1, double s2) { return sqrt( pow(s1,2)+pow(s2,2)); } #include <stdio.h> #include <math.h> #include <conio.h> double hipotenus( double s1,double s2); int main() { inti; double kenar1; double kenar2; for(i=1;i<=3;i++){ printf("Ucgeninkenarlarinigiriniz: "); scanf("%lf%lf", &kenar1,&kenar2); printf("Hipotenus: %.1f\n\n", hipotenus(kenar1,kenar2)); getch(); return 0; }
Soru2:floorfonksiyonu bir ondalıklı sayıyı en yakın tamsayıya yuvarlar. y = floor(x + .5); ifadesi x'i en yakın tam sayıya yuvarlar ve y'ye atar. Kullanıcıdan bir kaç sayı alan ve yukarıdaki ifadeyle bu sayıları yuvarlayan hem orijinal sayıyı hem de yuvarlanmış sayıyı ekrana yazdıran bir program yazınız. #include <stdio.h> #include <math.h> #include <conio.h> void FloorHesapla( void); int main() { FloorHesapla(); getch(); return 0; } void FloorHesapla( void ) { double x; double y; inti; for(i=1;i<=5;i++){ printf("Birondaliklisayigiriniz: "); scanf("%lf",&x); y=floor(x+.5); printf("%f sayisininyuvarlanmisi: %.f\n",x,y); } }
Soru3:Aşağıdakileri gerçekleştiren bir program yazınız. a) a tamsayısı b tamsayısına bölündüğünde, bölümün tamsayı kısmını hesaplasın. b) c tamsayısı d tamsayısına bölündüğüne, kalan tamsayıyı hesaplasın c) a) ve b) şıklarında geliştirdiğiniz program parçacıklarını kullanarak 1 ile 32767 arasında bir tamsayı alan bir fonksiyon yazın. Fonksiyon sayıyı basamaklarına ayırsın ve her iki basamak arasında iki boşluk olacak şekilde ekrana yazdırsın. void show(int number) { int divisor = 10000; printf( "Sayininbasamaklari:"); while ( number >= 10 ) { if ( number >= divisor ) { printf( "%d ", quotient( number, divisor ) ); number = remainder( number, divisor ); divisor = quotient( divisor, 10 ); } else { divisor = quotient( divisor, 10 ); } } printf( "%d\n", number ); } #include <stdio.h> #include <conio.h> int quotient( int a, int b ); int remainder( int a, int b ); void show(int n); int main() { int number; printf( "1 ile 32767 arasidanbirtamsayialiniz"); scanf( "%d", &number ); show(number); getch(); return 0; } int quotient( int a, int b ) { return a / b; } int remainder( int a, int b ) { return a % b;}
Soru 4: Saati, üç argümanla (saat, dakika ve saniye) alan ve saat 12‘den girilen saate kadar olan zamanı saniye cinsinden hesaplayıp döndüren bir program yazınız. Daha sonra bu fonksiyonu kullanarak girilen iki saat arasındaki farkı 12'lik saat dilimine göre hesaplayan bir program yazınız. #include <stdio.h> #include <conio.h> #include <math.h> unsigned saniye(unsigned h,unsignedm,unsigned s); int main() { intsaat; intdakika; int san; int ilk; intikinci; intfark; printf("Ilk zamanigiriniztamsayiolarak(saatdakikasaniye) :"); scanf("%d%d%d",&saat,&dakika,&san); ilk=saniye(saat,dakika,san); printf("Ikincizamanigiriniztamsayiolarak(saatdakikasaniye) :"); scanf("%d%d%d",&saat,&dakika,&san); ikinci=saniye(saat,dakika,san); fark=fabs(ilk-ikinci); printf("Bu zamanlararasifark %d saniye\n",fark); getch(); return 0; } unsigned saniye(unsigned h,unsignedm,unsigned s) { return 3600 * h + 60 * m + s; }
Soru 5: Eğer bir sayının kendisi hariç, bütün çarpanlarının toplamı yine o sayıya eşitse bu sayıya MÜKEMMEL SAYI denir. Örneğin, 6 bir mükemmel sayıdır. Çünkü 6 = 1 + 2 + 3. Bir sayının mükemmel bir sayı olup olmadığını tespit eden bir fonksiyon yazınız. Bu fonksiyonu 1-1000 arasındaki tamsayılardan mükemmel olanlarını bulmak için bir program içinde kullanınız. int perfect( int value ) { intfactorSum = 1; inti; for ( i = 2; i <= value-1; i++ ) { if ( value % i == 0 ) { factorSum+= i; } } if ( factorSum == value ) { return 1; } else { return 0; } } #include <stdio.h> #include <conio.h> int perfect( int value ); int main() { int j; printf( "1 ile 1000 arasitamsayilarda\n" ); for ( j = 2; j <= 1000; j++ ) { if ( perfect( j ) ) { printf( "%d Mukkemeldir.\n", j ); } } getch(); return 0; }