C programlama dili üs alma işlemini sadece for döngüsü ile fonksiyonsuz yapma ya da pow ile üs alma örneklerini bulabilirsiniz.
C programlama dili üs alma işlemini fonsiyonsuz ya da pow fonksiyonu ile yapılışını bulabilirsiniz. Fonksiyonsuz for döngüsü kullanarak iki farklı örnek ile bulabilirsiniz.
- Kullanıcıdan klavyeden sayı ve üs değerini girmesi istenilir
- Girilen değerler ile for döngüsü içerisinde işlem yapılır
- En son işlem olarak ekrana sonuç yazdırılır.
C Programlama Dili Üs Alma (For döngüsü ile)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#include <stdio.h>
//For işlemi ile üs alma
//Cemalettin Serit ckaynak.com | teknooneri.com | cemserit.com
int main() {
int sayi, us, i, sonuc = 1; //Çarpma işleminde etkisiz eleman 1 olduğu için sonuc=1 olarak atamak şart!!
printf("Sayiyi Giriniz: ");
scanf("%d", &sayi);
printf("Alinacak us degerini giriniz: ");
scanf("%d", &us);
for (i = 0; i < us; i++)
sonuc = sonuc * sayi; //Bu işlemin kısası sonuc *= sayi;
printf("Sonuc= %d\n", sonuc);
return 0;
}
|
Eğer üs değeri negatif girilirse for döngüsü içerisine girmeyeceği için sonuç 1 olarak ekrana yazılacaktır. Negatif değerler için sorun çıkarmamak için if-else koşulu ile kontrol ederek bu sorundan kurtulabiliriz
- Kullanıcıdan değerler alınır
- Girilen üs değeri negatif olup olmadığı kontrol edelir
- Eğer negatif girilirse ‘degisti’ degiskeni 1 yapılır ve üs değeri -1 ile çarpılarak pozitif yapılır
- Üs değeri pozitif ise for döngüsünde işlem yapılır ve sonuç ekrana yazdırılır
- degisti=1 ise üs negatif olduğundan float bir sonuç değişkeni oluşturulur, çıkan sonuç 1 ile bölünür ve ekrana yazdırılır.
C Programlama Dili Üs Alma (Üs Negatif Girilirse)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#include <stdio.h>
//For işlemi ile üs alma (Üs negatif girilirse eğer!!!)
//Cemalettin Serit ckaynak.com | teknooneri.com | cemserit.com
int main() {
int sayi, us, i, sonuc = 1, degisti = 0; //Çarpma işleminde etkisiz eleman 1 olduğu için sonuc=1 olarak atamak şart!!
float rasyonelSonuc;
printf("Sayiyi Giriniz: ");
scanf("%d", &sayi);
printf("Alinacak ust degerini giriniz: ");
scanf("%d", &us);
//Ust negatif ise döngüye giremeyeceği için üstü pozitif yapyoruz
//if koşuluna girdiğini anlamak içine degisti=1 yapıyoruz
if (us < 0) {
us = -1 * us;
degisti = 1; //Üst değeri pozitif girildi ise 0 kalır negatif girildi ise degisti=1 olur
}
for (i = 0; i < us; i++)
sonuc *= sayi;
//Üst değeri negatif ise Sonuç 1/sonuc şeklinde yazılır yani noktalı bir ifade olması lazım
if (degisti == 1) {
rasyonelSonuc = 1.0 / sonuc;
printf("%.4f", rasyonelSonuc); //Float %f şeklinde gösterilir. Noktadan sonra 4 basamak gözükmesi için %.4f şeklinde yazılır
} // Üst değeri 0 ya da pozitif ise değişiklik yapmadan yazdır
else
printf("Sonuc= %d", sonuc);
return 0;
}
|
For döngüsüyle uğraşmadan sadece pow fonksiyonunu kullanarakta üs alma işlemini çok basit bir şekilde yapabiliriz. pow kullanabilmek için #include <math.h> kullanılması zorunludur.
- Kullanıcıdan Sayı ve Üs değeri alınır
- Pow hazır fonksiyonu kullanarak sonuç ekrana yazdırılır.
C Programlama Dili Üs Alma (Hazır Pow Fonksiyonu)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#include <stdio.h>
#include <math.h>
//Pow kullanımı
//Cemalettin Serit ckaynak.com | teknooneri.com | cemserit.com
int main() {
int sayi, us;
double sonuc;
printf("Sayiyi Giriniz: ");
scanf("%d", &sayi);
printf("Alinacak us degerini giriniz: ");
scanf("%d", &us);
sonuc = pow(sayi, us);
printf("Sonuc = %.3lf", sonuc); // double için %lf noktadan sonra bir basamak için .3 yazılır (%.3lf)
return 0;
}
|