1- 100 arasındaki asal sayıları bulan programı yazamaya çalıştım.Ama 1 ile 100 arasındaki bütün sayıları yazıyor.Acaba nerede hata yaptım.Bilen var mıdır?
#include<stdio.h> #include<conio.h> main () { int a=1,b=2,c; while(a<=100){c=0; while(b<a){ if(a%b==0) {c=1;} b=b+1;} if(c==0) printf("%d sayisi asal sayidir.\n",a); a=a+1;} getch (); }
Öncelikle, böyle program yazılmaz. A, b, c isimli değişkenler programı okuyana hiç birşey anlatmaz, arada bir boşluk filan bırakılır ve deyimlerin seviyesine göre kod içeri tablanır (indent).
Kodu okuyabilmek için önce şu hale çevirmem gerekti:
Bu hale çevirdikten sonra çok rahat bir şekilde cevap karşımızda, b değerini ilk haline getirmeyi unutmuşsun ( b = 2 ). Şu haliyle ilk döngüden sonra b sayısı a'dan büyük bir değer alıyor ve if'in içine hiç girmiyor.