C Programlama Örnekleri
İçindekiler
-
#include-
#include- int-main() { //klavyeden-girilen-iki-notun-ortalamasını-bulan-bir-c-programı---vize%40-final%60-olarak-// ----int-s1,s2,t; ----printf("vize-notunu-giriniz:"); ----scanf("%d",&s1); ----printf("final-notunu-giriniz:"); ----scanf("%d",&s2); ----t=s1*0.4+s2*0.6; ----printf("n-notlarin-ortalamasi:-%d",t); ---//-printf("%d",t); ---return-0; } Örnek-3-: #include- #include- #include- int-main() { //klavyeden-girilen-iki-sayının-çarpım-ve-bölümünü-bulan-bir-c-programı// ----int-s1,s2,c,b; ----printf("birici-sayiyi-giriniz"); ----scanf("%d",&s1); ----printf("ikinci-sayiyi-giriniz"); ----scanf("%d",&s2); ----c=s1*s2; ----b=s1/s2; ----printf("nnsayilarin-carpimi:-%d",c); ----printf("nsayilarin-bolumu:-%d",b); ---return-0; } Örnek-4-: #include- #include- #include- int-main() { //klavyeden-iki-notun-ortalamasını-bulan-ve-ortalaması-45den-büyükse-geçti-değilse-kaldı-yazan-bir-c-programı// ----int-s1,s2,t; ----printf("vize-notunu-giriniz:"); ----scanf("%d",&s1); ----printf("final-notunu-giriniz:"); ----scanf("%d",&s2); ----t=s1*0.4+s2*0.6; ----if(t<45) ----{ --------printf("kaldi.%d",t); ----} ----else ----{ ----printf("gecti:-%d",t); ----} ---return-0; } Örnek-5-: #include- #include- int-main() { //klavyeden-girilen-isminizi-10-defa-yazdıran-bir-c-programı// ----int-sayac; ----char-isim[200]; ----printf("isminizi-yaziniz:"); ----scanf("%s",&isim); ----printf("nn"); ----for(sayac=1;sayac<11;sayac++) ----{ ----printf("%d.metin:-%sn",sayac,isim); ----} -----return-0; } Örnek-6-: #include- #include- int-main() { //0'dan-10'a-kadar-olan-sayıların-toplamını-bulan-bir-c-programı// ----int-t=0; ----int-sayac; ----for(sayac=0;sayac<=10;sayac++) ----{ --------t=t+sayac; ----} ----printf("%d",t); ----return-0; } Örnek-1-:-1'den-n'e kadar-olan-Çift-sayıların-toplamı-ve-ortalaması #include- #include- - int-main(){ ---- ----int-adet,-sayac-=-0,-toplam-=-0,-i; ----printf("lütfen-kontrol-edilecek-n-degerini-giriniz:-"); ----scanf("%d",-&adet); ---- ----if(-adet-<=-1-){--//1-ve-1'den-küçük-ise-sonlandır. --------printf("lutfen-1-den-buyuk-deger-giriniz!"); --------getch(); --------return-0;-------- ----} ---- ----for-(-i=1;-i<=adet;-i++-){- --------if(-i-%-2-==-0){ ------------toplam+=i;---- ------------sayac++;------------ --------}---- ----} ---- ----printf("toplam=-%dn",-toplam); ----printf("ortalama=-%d",-toplam-/-sayac);---- ---- ----getch(); ----return-0; ---- } Örnek-2-:-1'den-n'e-kadar-olan-tek-sayıların-toplamı-ve-ortalaması #include- #include- - int-main(){ ---- ----int-adet,-sayac-=-0,-toplam-=-0,-i; ---- ----printf("lütfen-kontrol-edilecek-n-degerini-giriniz:-"); ----scanf("%d",-&adet); ---- ----if(-adet-<=-0-){------//1'den-küçük-ise-sonlandır. --------printf("lutfen-0-dan-buyuk-deger-giriniz!"); --------getch(); --------return-0;-------- ----} ---- ----for-(-i=1;-i<=adet;-i++-){- --------if(-i-%-2-==-1){ ------------toplam+=i;---- ------------sayac++;--------- --------}---- ----} ---- ----printf("toplam=-%dn",-toplam); ----printf("ortalama=-%d",-toplam/sayac);---- ---- ----getch(); ----return-0; ---- } Örnek-3-:-0'dan-100'e-kadar-ve-5'e-bölünebilen-sayılar-yazdırma… #include- #include- int-main-() { ----int-sayac; ----for-(sayac=0;-sayac<=100;-sayac+=5) --------printf("%dn",-sayac); ----system("pause"); ----return-0; } Örnek 4 : 1'den-n'e-kadar-Çift-ve-tek-sayıların-toplamı-ve-ortalaması #include- #include- int-main() { ----int-adet,-sayact-=-0,-sayacc-=-0,-toplamt-=-0,-toplamc-=-0,-i; ----printf("lütfen-kontrol-edilecek-n-degerini-giriniz:-"); ----scanf("%d",-&adet); ----if(-adet-<=-0-) ----{ --------printf("lutfen-0-dan-buyuk-deger-giriniz!"); --------getch(); --------return-0; ----} ----for-(-i=1;-i<=adet;-i++-) ----{ --------if(-i-%-2-==-0) --------{ ------------toplamc+=i; ------------sayacc++; --------} --------else --------{ ------------toplamt+=i; ------------sayact++; --------} ----} ----if(-adet-!=-1) ----{ --------printf("****cift-sayilar***n"); --------printf("toplam=-%dn",-toplamc); --------printf("ortalama=-%dn",-toplamc-/-sayacc); ----} ----printf("****tek-sayilar***n"); ----printf("toplam=-%dn",-toplamt); ----printf("ortalama=-%d",-toplamt-/-sayact); ----getch(); ----return-0; } Örnek-5-: klavyeden-girilen-bir-tamsayının-hanelerindeki-en-büyük-sayıyı-bulma... #include- #include- int-main() { ----int ----sayi,-b,-max=0; ----printf ----("lutfen-bir-sayi-giriniz-:-"); ----scanf ----("%d",&sayi); ----while ----(sayi>0) ----{ --------b-=-sayi-%-10; --------if --------(b>max)--max-=-b; --------sayi-/=-10; ----} ----printf ----("en-buyuk-hanenin-degeri-:-%d",max); ----getche(); } tersten-ve-düzden-okunduğu-zaman-okunuş-yönüyle-aynı-olan-sayılara-palindromik-sayılar-denir.Örnek: 3,5,8,101,232,3663,8008,12431-vb.asal-palindromik-sayılar: 2,-3,-5,-7,-11,-101,-131,-151,-181,-191,….karesel-palindromik-sayılar: 0,-1,-4,-9,-121,-484,-676,-10201,-12321,-14641,-40804,-44944,….küpsel-palindromik-sayılar: 0,-1,-8,-343,-1331,-1030301,-1367631,-1003003001,.... #include- int-main() { ---int-n,-t-=-0,-temp; ---printf("lutfen-bir-sayi-girinizn"); ---scanf("%d",&n); ---temp-=-n; ---while(-temp-!=-0-) ---{ ------t-=-t-*-10; ------t-=-t-+-temp%10; ------temp-=-temp/10; ---} ---if-(-n-==-t-) ------printf("%d-palindromik-bir-sayidirn",-n); ---else ------printf("%d-palindromik-degildirn",-n); ---return-0; } tüm-basamaklarındaki-rakamların-sayı-değerlerinin-küpleri-toplamı,-kendisine-eşit-olan-sayılara-"armstrong-sayı"-denir.-diğer-bir-deyişle-her-bir-basamağın-o-sayının-basamak-sayısı-kadar-üssü-alınarak-toplanmasıdır.-eğer-toplam-bu-sayıyı-veriyorsa-o-sayı-armstrong-sayıdır.bazı-armstrong-sayıları:-0,-1,-2,-3,-153,-370,-407,-1634,-8208 153-= 13 + 53- + 33 1634-= 14 + 64 + 34 + 44 #include- int-pw(int,-int); int-main() { ---int-s,-sonuc-=-0,-gecici,-bdeger,-basamak-=-0; ---printf("lutfen-bir-sayi-girinizn"); ---scanf("%d",-&s); ---gecici-=-s; ---while-(gecici-!=-0)-{ ------basamak++; ------gecici-=-gecici/10; ---} ---gecici-=-s; ---while-(gecici-!=-0)-{ ------bdeger-=-gecici%10; ------sonuc-=-sonuc-+-pw(bdeger,-basamak); ------gecici-=-gecici/10; ---} ---if-(s-==-sonuc) ------printf("%d-armstrong-sayidir.n",-s); ---else ------printf("%d-armstrong-sayi-degildir.n",-s); ---return-0; } int-pw(int-s,-int-r)-{ ---int-c,-p-=-1; ---for-(c-=-1;-c-<=-r;-c++) ------p-=-p*s; ---return-p; kullanıcıdan-alınan-decimal-(ondalık-sistem)-sayıyı-binary-(ikili-sisteme)-dönüştüren-c-programı. #include- int-main() { --int-s,-x,-y; --printf("lutfen-bir-sayi-girinizn"); --scanf("%d",-&s); --printf("%d-ikili-sayi-sisteminde:n",-s); --for-(x-=-50;-x->=-0;-x--) --{ ----y-=-s->>-x; ----if-(y-&-1) ------printf("1"); ----else ------printf("0"); --} --printf("n"); --return-0; }- c-programlama-Örnek-bubble-sort-(kabarcık-sıralaması) verinin-hafızada-sıralı-tutulması-için-geliştirilen-sıralama-algoritmalarından-(sorting-algorithms)-arasında-yazılması-en-kolay-olan,-ama-büyük-dizilerde-çok-yavaş-kalan-bir-sıralama-yöntemidir. kabarcık-sıralaması'nın-rastgele-üretilmiş-sayıları-sıraladığını-gösteren-bir-örnek sıralanacak-dizinin-üzerinde-sürekli-ilerlerken-her-defasında-iki-öğenin-birbiriyle-karşılaştırılıp,-karşılaştırılan-öğelerin-yanlış-sırada-olmaları-durumunda-yerlerinin-değiştirilmesi-mantığına-dayanır.-algoritma,-herhangi-bir-değişiklik-yapılmayıncaya-kadar-dizinin-başına-dönerek-kendisini-yineler.-adına-"kabarcık"-sıralaması-denmesinin-nedeni-büyük-olan-sayıların-aynı-suyun-altındaki-bir-kabarcık-gibi-dizinin-üstüne-doğru-ilerlemesidir. #include- int-main() { --int-dizi[100],-s,-x,-y,-t; --printf("lutfen-dizi-icin-eleman-sayisini-girinizn"); --scanf("%d",-&s); --printf("%d-eleman-degerlerini-girinizn",-s); --for-(x-=-0;-x-<-s;-x++) ----scanf("%d",-&dizi[x]); --for-(x-=-0-;-x-<-(-s---1-);-x++) --{ ----for-(y-=-0-;-y-<-s---x---1;-y++) ----{ ------if-(dizi[y]->-dizi[y+1]) ------{ --------t---------=-dizi[y]; --------dizi[y]---=-dizi[y+1]; --------dizi[y+1]-=-t; ------} ----} --} --printf("artan-siraya-gore-listeleme:n"); --for-(-x-=-0-;-x-<-s-;-x++-) -----printf("%dn",-dizi[x]); --return-0; } c-programlama-Örnek-selection-sort-(seçerek-sıralama) verinin-hafızada-sıralı-tutulması-için-geliştirilen-sıralama-algoritmalarından- (sorting-algorithms)-selection-sort-(seçerek-sıralama)-algoritmasında-uygulanan-her-adımda-eldeki-dizinin-en-küçük-elemanı-bulunuyor-ve-en-başa-atılıyor.-bu-işlem-her-seferinde-tekrarlanıyor.-dizinin-sonuna-gelindiğinde-dizimiz-küçükten-büyüğe-sıralanmış-oluyor.-büyük-sayıda-verileri-sıralamak-için-elverişsizdir.-bubble-sort-algoritmasının-iyileştirilmiş-biçimi-sayılır. #include- int-main() { ---int-dizi[100],-s,-x,-y,-pw,-t; ---printf("lutfen-dizi-icin-eleman-sayisini-girinizn"); ---scanf("%d",-&s); ---printf("%d-elemana-ait-degerleri-girinizn",-s); ---for-(-x-=-0-;-x-<-s-;-x++-) ------scanf("%d",-&dizi[x]); ---for-(-x-=-0-;-x-<-(-s---1-)-;-x++-) ---{ ------pw-=-x; ------for-(-y-=-x-+-1-;-y-<-s-;-y++-) ------{ ---------if-(-dizi[pw]->-dizi[y]-) ------------pw-=-y; ------} ------if-(-pw-!=-x-) ------{ ---------t-=-dizi[x]; ---------dizi[x]-=-dizi[pw]; ---------dizi[pw]-=-t; ------} ---} ---printf("artan-siraya-gore-listeleme:n"); ---for-(-x-=-0-;-x-<-s-;-x++-) ------printf("%dn",-dizi[x]); ---return-0; } Örnek-1-:-kullanıcının-girmiş-olduğu-iki-sayının-arkadaş-sayı-olup-olmadığını-bulan-bir-c-programı-yazınız. arkadaş-sayılar: a-ve-b-pozitif-iki-sayı-olsun.-a'nın-kendisi-hariç-pozitif-bölenlerinin-toplamı-b-ise-ve-b'nin-kendisi-hariç-pozitif-bölenlerinin-toplamı-a-ise-a-ile-b-arkadaş-sayılardır. Örneğin: 220-ile-284-arkadaş-sayılardır.s(220)=1+2+4+5+10+11+20+22+44+55+110=284s(284)=1+2+4+71+142=220 #include- #include- int-main() { ----int-sayi1,sayi2; ----int-s1toplam=1,s2toplam=1; ----int-gecici,i=2; ----printf("lutfen-sayilari-giriniz:n"); ----scanf("%d-%d",&sayi1,&sayi2); ----if-(sayi2>sayi1) ----{ --------gecici=sayi1; --------sayi1=sayi2; --------sayi2=gecici; ----} ----while(-i<=(sayi1/2)-) ----{ --------if(sayi1%i==0) ------------s1toplam=s1toplam+i; --------if(sayi2%i==0) ------------s2toplam=s2toplam+i; --------i=i+1; ----} ----if(sayi1==s2toplam-&&-sayi2==s1toplam) --------printf("narkadas-sayilardir."); ----else --------printf("narkadas-sayi-degillerdir."); ----getch(); ----return-0; } Örnek-2-:-kullanıcının -girmiş -olduğu -uzunluk -ve -genişlik -değerlerine -göre -ekrana -dikdörtgen -şeklini-çizdiren-programı-yazınız. #include- #include- int-main() { ----int-uzunkenar,kisakenar; ----int-i,j; ----printf("uzun-kenari-giriniz:"); ----scanf("%d",&uzunkenar); ----printf("kisa-kenari-giriniz:"); ----scanf("%d",&kisakenar); ----for ----(i=1;-i<=kisakenar;-i++) ----{ --------for --------(j=1;-j<=uzunkenar;-j++) --------{ ------------if-(i==1) ----------------printf("*--"); ------------else-if ------------(i==kisakenar) ----------------printf("*--"); ------------else-if ------------(j==1-||-j==uzunkenar) ----------------printf("*--"); ------------else ----------------printf("---"); --------} --------printf("n" --------------); ----} ----getch(); ----return-0; } Örnek-3-:-kullanıcının-girmiş-olduğu-ondalıklı-sayıyı,-sadeleşemeyecek-şekilde-rasyonel-sayı-olarak-ekrana-yazdıran-bir-c-programı-yazınız. not: sayımızı-virgülden-kurtarıp,-kaç-kere-10'la-çarptığımızı-hesaplatıp,-ona-göre-ikisini-bölen-bir-sayıya-böleceğiz. #include- #include- #include- int-main() { ----float-sayi; ----int-tmp,-sy=1,i; ----printf("lutfen-float-turunden-bir-sayi-giriniz:"); ----scanf("%f",&sayi); ----tmp=sayi; ----while(sayi-tmp!=0) ----{ --------sayi=sayi*10; --------sy=sy*10; --------tmp=sayi; ----} ----for(i=2;-i<=sy;-i++) ----{ --------while((tmp%i==0)-&&-(sy%i==0)) --------{ ------------tmp=tmp/i; ------------sy=sy/i; --------} ----} ----printf("ngirilen-float-degerimizin-rasyonel-hali:--%d-/-%d",tmp,sy); ----getch(); ----return-0; } Örnek-1-:-kullanıcının-girmiş-olduğu-iki-sayının-arkadaş-sayı-olup-olmadığını-bulan-bir-c-programı-yazınız. arkadaş-sayılar: a-ve-b-pozitif-iki-sayı-olsun.-a'nın-kendisi-hariç-pozitif-bölenlerinin-toplamı-b-ise-ve-b'nin-kendisi-hariç-pozitif-bölenlerinin-toplamı-a-ise-a-ile-b-arkadaş-sayılardır. Örneğin: 220-ile-284-arkadaş-sayılardır.s(220)=1+2+4+5+10+11+20+22+44+55+110=284s(284)=1+2+4+71+142=220 #include- #include- int-main() { ----int-sayi1,sayi2; ----int-s1toplam=1,s2toplam=1; ----int-gecici,i=2; ----printf("lutfen-sayilari-giriniz:n"); ----scanf("%d-%d",&sayi1,&sayi2); ----if-(sayi2>sayi1) ----{ --------gecici=sayi1; --------sayi1=sayi2; --------sayi2=gecici; ----} ----while(-i<=(sayi1/2)-) ----{ --------if(sayi1%i==0) ------------s1toplam=s1toplam+i; --------if(sayi2%i==0) ------------s2toplam=s2toplam+i; --------i=i+1; ----} ----if(sayi1==s2toplam-&&-sayi2==s1toplam) --------printf("narkadas-sayilardir."); ----else --------printf("narkadas-sayi-degillerdir."); ----getch(); ----return-0; } Örnek-2-:-kullanıcının -girmiş -olduğu -uzunluk -ve -genişlik -değerlerine -göre -ekrana -dikdörtgen -şeklini-çizdiren-programı-yazınız. #include- #include- int-main() { ----int-uzunkenar,kisakenar; ----int-i,j; ----printf("uzun-kenari-giriniz:"); ----scanf("%d",&uzunkenar); ----printf("kisa-kenari-giriniz:"); ----scanf("%d",&kisakenar); ----for ----(i=1;-i<=kisakenar;-i++) ----{ --------for --------(j=1;-j<=uzunkenar;-j++) --------{ ------------if-(i==1) ----------------printf("*--"); ------------else-if ------------(i==kisakenar) ----------------printf("*--"); ------------else-if ------------(j==1-||-j==uzunkenar) ----------------printf("*--"); ------------else ----------------printf("---"); --------} --------printf("n" --------------); ----} ----getch(); ----return-0; } Örnek-3-:-kullanıcının-girmiş-olduğu-ondalıklı-sayıyı,-sadeleşemeyecek-şekilde-rasyonel-sayı-olarak-ekrana-yazdıran-bir-c-programı-yazınız. not: sayımızı-virgülden-kurtarıp,-kaç-kere-10'la-çarptığımızı-hesaplatıp,-ona-göre-ikisini-bölen-bir-sayıya-böleceğiz. #include- #include- #include- int-main() { ----float-sayi; ----int-tmp,-sy=1,i; ----printf("lutfen-float-turunden-bir-sayi-giriniz:"); ----scanf("%f",&sayi); ----tmp=sayi; ----while(sayi-tmp!=0) ----{ --------sayi=sayi*10; --------sy=sy*10; --------tmp=sayi; ----} ----for(i=2;-i<=sy;-i++) ----{ --------while((tmp%i==0)-&&-(sy%i==0)) --------{ ------------tmp=tmp/i; ------------sy=sy/i; --------} ----} ----printf("ngirilen-float-degerimizin-rasyonel-hali:--%d-/-%d",tmp,sy); ----getch(); ----return-0; } c-programlama-Örnek-kelimeleri-alfabetik-olarak-sıralama #include #include #include int-main() { ----int-ametin; ----printf("lutfen-kelime-sayisini-belirtiniz:n"); ----scanf("%d",-&ametin); ----char-kelimeler[ametin][100],-t[100]; ----int-x,-y; ----printf("nlutfen-kelimeleri-giriniz:n"); ----for-(x-=-0;-x-<-ametin;-x++) --------scanf("%s",-kelimeler[x]); ----printf("nmetindeki-kelimeler:"); ----for-(x=0;-x -0) ------------{ ----------------strcpy(t,-kelimeler[y---1]); ----------------strcpy(kelimeler[y---1],-kelimeler[y]); ----------------strcpy(kelimeler[y],-t); ------------} --------} ----} ----printf("n---------------------------------------------------n"); ----printf("nmetindeki-kelimeleriniz-alfabetik-olarak-siralandi:-"); ----for-(x-=-0;-x-<-ametin;-x++) --------printf("n%s",-kelimeler[x]); ----return-0; } c-programlama-mükemmel-sayıları-bulmak-(perfect-numbers) kendisi-hariç-bütün-pozitif-bölenlerinin-toplamı-kendisine-eşit-olan-sayılara-mükemmel-sayı-denir. mükemmel-sayı-terimini-ilk-olarak pisagor ortaya-atmıştır.-pisagor'a-göre-sayılarda-mükemmellik,-bir-sayının-bölenleriyle-ilgiliydi. 6-bir-mükemmel-sayıdır.-Çünkü-6'nın-pozitif-bölenleri-1,2,3-ve-6'dır.-1+2+3=6-bunun-gibi-28-de-mükemmel-sayıdır.-28-=-1-+-2-+-4-+-7-+-14-sayılar-büyüdükçe-mükemmel-sayıları-bulmak-daha-da-zorlaşır. günümüz-bilgisayarlarının-işlem-gücüyle-34-milyondan-fazla-basamağı-olan-mükemmel-sayılar-keşfedildi. *-6,*-28,*-496,*-8128,*-33550336,*-8589869056,*-137438691328,*-2305843008139952128*................................................c-programlama-dili-ile-iki-sayı-arasındaki-mükemmel-sayıları-bulalım: #include- #include- int-main() { ----int-x,-y,-bir,-iki,-z; ----printf("----------------------------------------n"); ----printf("birinci-sayiyi-giriniz:-"); ----scanf("%d",-&bir); ----printf("ikinci-sayiyi-giriniz:-"); ----scanf("%d",-&iki); ----printf("iki-sayi-araligindaki-mukemmel-sayilar:-n"); ----printf("----------------------------------------n"); ----printf("%d-ve-%d:-arasinda-n",-bir,-iki); ----printf("----------------------------------------n"); ----for(x=bir;-x<=iki;-x++) ----{ --------z-=-0; --------for(y=1;-y C Programlama Örnekleri Örnek 1 : #include #include #include int main() { //Klavyeden girilen iki sayının toplamını bulan bir c programı// int s1,s2,t; printf("Birici sayiyi giriniz"); scanf("%d",&s1); printf("ikinci sayiyi giriniz"); scanf("%d",&s2); t=s1+s2; printf("nnSayilarin Toplami: %d",t); return 0; } Örnek 2 : #include #include #include int main() { //Klavyeden girilen iki notun ortalamasını bulan bir c programı - vize%40 final%60 olarak // int s1,s2,t; printf("Vize notunu giriniz:"); scanf("%d",&s1); printf("Final notunu giriniz:"); scanf("%d",&s2); t=s1*0.4+s2*0.6; printf("n Notlarin Ortalamasi: %d",t); // printf("%d",t); return 0; } Örnek 3 : #include #include #include int main() { //Klavyeden girilen iki sayının çarpım ve bölümünü bulan bir c programı// int s1,s2,c,b; printf("Birici sayiyi giriniz"); scanf("%d",&s1); printf("ikinci sayiyi giriniz"); scanf("%d",&s2); c=s1*s2; b=s1/s2; printf("nnsayilarin carpimi: %d",c); printf("nsayilarin bolumu: %d",b); return 0; } Örnek 4 : #include #include #include int main() { //Klavyeden iki notun ortalamasını bulan ve ortalaması 45den büyükse geçti değilse kaldı yazan bir c programı// int s1,s2,t; printf("Vize notunu giriniz:"); scanf("%d",&s1); printf("Final notunu giriniz:"); scanf("%d",&s2); t=s1*0.4+s2*0.6; if(t<45) { printf("KALDI.%d",t); } else { printf("GECTI: %d",t); } return 0; } Örnek 5 : #include #include int main() { //Klavyeden girilen isminizi 10 defa yazdıran bir c programı// int sayac; char isim[200]; printf("Isminizi Yaziniz:"); scanf("%s",&isim); printf("nn"); for(sayac=1;sayac<11;sayac++) { printf("%d.Metin: %sn",sayac,isim); } return 0; } Örnek 6 : #include #include int main() { //0'dan 10'a kadar olan sayıların toplamını bulan bir c programı// int t=0; int sayac; for(sayac=0;sayac<=10;sayac++) { t=t+sayac; } printf("%d",t); return 0; } Örnek 1 : 1'den n'e kadar Olan Çift Sayıların Toplamı ve Ortalaması #include #include int main(){ int adet, sayac = 0, toplam = 0, i; printf("Lütfen kontrol edilecek n degerini giriniz: "); scanf("%d", &adet); if( adet <= 1 ){ //1 ve 1'den küçük ise sonlandır. printf("Lutfen 1 den buyuk deger giriniz!"); getch(); return 0; } for ( i=1; i<=adet; i++ ){ if( i % 2 == 0){ toplam+=i; sayac++; } } printf("Toplam= %dn", toplam); printf("Ortalama= %d", toplam / sayac); getch(); return 0; } Örnek 2 : 1'den n'e kadar Olan Tek Sayıların Toplamı ve Ortalaması #include #include int main(){ int adet, sayac = 0, toplam = 0, i; printf("Lütfen kontrol edilecek n degerini giriniz: "); scanf("%d", &adet); if( adet <= 0 ){ //1'den küçük ise sonlandır. printf("Lutfen 0 dan buyuk deger giriniz!"); getch(); return 0; } for ( i=1; i<=adet; i++ ){ if( i % 2 == 1){ toplam+=i; sayac++; } } printf("Toplam= %dn", toplam); printf("Ortalama= %d", toplam/sayac); getch(); return 0; } Örnek 3 : 0'dan 100'e kadar ve 5'e bölünebilen sayılar yazdırma… #include #include int main () { int sayac; for (sayac=0; sayac<=100; sayac+=5) printf("%dn", sayac); system("pause"); return 0; } Örnek 4 : 1'den n'e kadar Çift ve Tek Sayıların Toplamı ve Ortalaması #include #include int main() { int adet, sayacT = 0, sayacC = 0, toplamT = 0, toplamC = 0, i; printf("Lütfen kontrol edilecek n degerini giriniz: "); scanf("%d", &adet); if( adet <= 0 ) { printf("Lutfen 0 dan buyuk deger giriniz!"); getch(); return 0; } for ( i=1; i<=adet; i++ ) { if( i % 2 == 0) { toplamC+=i; sayacC++; } else { toplamT+=i; sayacT++; } } if( adet != 1) { printf("****Cift Sayilar***n"); printf("Toplam= %dn", toplamC); printf("Ortalama= %dn", toplamC / sayacC); } printf("****Tek Sayilar***n"); printf("Toplam= %dn", toplamT); printf("Ortalama= %d", toplamT / sayacT); getch(); return 0; } Örnek 5 : Klavyeden girilen bir tamsayının hanelerindeki en büyük sayıyı bulma... #include #include int main() { int sayi, b, max=0; printf ("Lutfen bir sayi giriniz : "); scanf ("%d",&sayi); while (sayi>0) { b = sayi % 10; if (b>max) max = b; sayi /= 10; } printf ("En buyuk hanenin degeri : %d",max); getche(); } Tersten ve düzden okunduğu zaman okunuş yönüyle aynı olan sayılara Palindromik Sayılar denir.Örnek: 3,5,8,101,232,3663,8008,12431 vb.Asal palindromik sayılar: 2, 3, 5, 7, 11, 101, 131, 151, 181, 191,….Karesel palindromik sayılar: 0, 1, 4, 9, 121, 484, 676, 10201, 12321, 14641, 40804, 44944,….Küpsel palindromik sayılar: 0, 1, 8, 343, 1331, 1030301, 1367631, 1003003001,.... #include int main() { int n, t = 0, temp; printf("LUTFEN BIR SAYI GIRINIZn"); scanf("%d",&n); temp = n; while( temp != 0 ) { t = t * 10; t = t + temp%10; temp = temp/10; } if ( n == t ) printf("%d PALINDROMIK BIR SAYIDIRn", n); else printf("%d PALINDROMIK DEGILDIRn", n); return 0; } Tüm basamaklarındaki rakamların sayı değerlerinin küpleri toplamı, kendisine eşit olan sayılara "Armstrong sayı" denir. Diğer bir deyişle her bir basamağın o sayının basamak sayısı kadar üssü alınarak toplanmasıdır. Eğer toplam bu sayıyı veriyorsa o sayı Armstrong Sayıdır.Bazı Armstrong sayıları: 0, 1, 2, 3, 153, 370, 407, 1634, 8208 153 = 13 + 53 + 33 1634 = 14 + 64 + 34 + 44 #include int pw(int, int); int main() { int s, sonuc = 0, gecici, bdeger, basamak = 0; printf("LUTFEN BIR SAYI GIRINIZn"); scanf("%d", &s); gecici = s; while (gecici != 0) { basamak++; gecici = gecici/10; } gecici = s; while (gecici != 0) { bdeger = gecici%10; sonuc = sonuc + pw(bdeger, basamak); gecici = gecici/10; } if (s == sonuc) printf("%d ARMSTRONG SAYIDIR.n", s); else printf("%d ARMSTRONG SAYI DEGILDIR.n", s); return 0; } int pw(int s, int r) { int c, p = 1; for (c = 1; c <= r; c++) p = p*s; return p; Kullanıcıdan alınan Decimal (Ondalık Sistem) sayıyı Binary (ikili Sisteme) dönüştüren C Programı. #include int main() { int s, x, y; printf("LUTFEN BIR SAYI GIRINIZn"); scanf("%d", &s); printf("%d IKILI SAYI SISTEMINDE:n", s); for (x = 50; x >= 0; x--) { y = s >> x; if (y & 1) printf("1"); else printf("0"); } printf("n"); return 0; } C Programlama Örnek Bubble Sort (Kabarcık Sıralaması) Verinin hafızada sıralı tutulması için geliştirilen sıralama algoritmalarından (sorting algorithms) arasında yazılması en kolay olan, ama büyük dizilerde çok yavaş kalan bir sıralama yöntemidir. Kabarcık sıralaması'nın rastgele üretilmiş sayıları sıraladığını gösteren bir örnek Sıralanacak dizinin üzerinde sürekli ilerlerken her defasında iki öğenin birbiriyle karşılaştırılıp, karşılaştırılan öğelerin yanlış sırada olmaları durumunda yerlerinin değiştirilmesi mantığına dayanır. Algoritma, herhangi bir değişiklik yapılmayıncaya kadar dizinin başına dönerek kendisini yineler. Adına "Kabarcık" sıralaması denmesinin nedeni büyük olan sayıların aynı suyun altındaki bir kabarcık gibi dizinin üstüne doğru ilerlemesidir. #include int main() { int dizi[100], s, x, y, t; printf("LUTFEN DIZI ICIN ELEMAN SAYISINI GIRINIZn"); scanf("%d", &s); printf("%d ELEMAN DEGERLERINI GIRINIZn", s); for (x = 0; x < s; x++) scanf("%d", &dizi[x]); for (x = 0 ; x < ( s - 1 ); x++) { for (y = 0 ; y < s - x - 1; y++) { if (dizi[y] > dizi[y+1]) { t = dizi[y]; dizi[y] = dizi[y+1]; dizi[y+1] = t; } } } printf("ARTAN SIRAYA GORE LISTELEME:n"); for ( x = 0 ; x < s ; x++ ) printf("%dn", dizi[x]); return 0; } C Programlama Örnek Selection Sort (Seçerek Sıralama) Verinin hafızada sıralı tutulması için geliştirilen sıralama algoritmalarından (sorting algorithms) Selection Sort (Seçerek Sıralama) algoritmasında uygulanan her adımda eldeki dizinin en küçük elemanı bulunuyor ve en başa atılıyor. Bu işlem her seferinde tekrarlanıyor. Dizinin sonuna gelindiğinde dizimiz küçükten büyüğe sıralanmış oluyor. Büyük sayıda verileri sıralamak için elverişsizdir. Bubble Sort algoritmasının iyileştirilmiş biçimi sayılır. #include int main() { int dizi[100], s, x, y, pw, t; printf("LUTFEN DIZI ICIN ELEMAN SAYISINI GIRINIZn"); scanf("%d", &s); printf("%d ELEMANA AIT DEGERLERI GIRINIZn", s); for ( x = 0 ; x < s ; x++ ) scanf("%d", &dizi[x]); for ( x = 0 ; x < ( s - 1 ) ; x++ ) { pw = x; for ( y = x + 1 ; y < s ; y++ ) { if ( dizi[pw] > dizi[y] ) pw = y; } if ( pw != x ) { t = dizi[x]; dizi[x] = dizi[pw]; dizi[pw] = t; } } printf("ARTAN SIRAYA GORE LISTELEME:n"); for ( x = 0 ; x < s ; x++ ) printf("%dn", dizi[x]); return 0; } Örnek 1 : Kullanıcının girmiş olduğu iki sayının arkadaş sayı olup olmadığını bulan bir C programı yazınız. Arkadaş Sayılar: A ve B pozitif iki sayı olsun. A'nın kendisi hariç pozitif bölenlerinin toplamı B ise ve B'nin kendisi hariç pozitif bölenlerinin toplamı A ise A ile B arkadaş sayılardır. Örneğin: 220 ile 284 arkadaş sayılardır.S(220)=1+2+4+5+10+11+20+22+44+55+110=284S(284)=1+2+4+71+142=220 #include #include int main() { int sayi1,sayi2; int s1Toplam=1,s2Toplam=1; int gecici,i=2; printf("Lutfen Sayilari Giriniz:n"); scanf("%d %d",&sayi1,&sayi2); if (sayi2>sayi1) { gecici=sayi1; sayi1=sayi2; sayi2=gecici; } while( i<=(sayi1/2) ) { if(sayi1%i==0) s1Toplam=s1Toplam+i; if(sayi2%i==0) s2Toplam=s2Toplam+i; i=i+1; } if(sayi1==s2Toplam && sayi2==s1Toplam) printf("nArkadas Sayilardir."); else printf("nArkadas Sayi Degillerdir."); getch(); return 0; } Örnek 2 : Kullanıcının girmiş olduğu uzunluk ve genişlik değerlerine göre ekrana dikdörtgen şeklini çizdiren programı yazınız. #include #include int main() { int uzunkenar,kisakenar; int i,j; printf("Uzun Kenari Giriniz:"); scanf("%d",&uzunkenar); printf("Kisa Kenari Giriniz:"); scanf("%d",&kisakenar); for (i=1; i<=kisakenar; i++) { for (j=1; j<=uzunkenar; j++) { if (i==1) printf("* "); else if (i==kisakenar) printf("* "); else if (j==1 || j==uzunkenar) printf("* "); else printf(" "); } printf("n" ); } getch(); return 0; } Örnek 3 : Kullanıcının girmiş olduğu ondalıklı sayıyı, sadeleşemeyecek şekilde rasyonel sayı olarak ekrana yazdıran bir C programı yazınız. Not: Sayımızı virgülden kurtarıp, kaç kere 10'la çarptığımızı hesaplatıp, ona göre ikisini bölen bir sayıya böleceğiz. #include #include #include int main() { float sayi; int tmp, sy=1,i; printf("Lutfen Float turunden bir sayi giriniz:"); scanf("%f",&sayi); tmp=sayi; while(sayi-tmp!=0) { sayi=sayi*10; sy=sy*10; tmp=sayi; } for(i=2; i<=sy; i++) { while((tmp%i==0) && (sy%i==0)) { tmp=tmp/i; sy=sy/i; } } printf("nGirilen float degerimizin rasyonel hali: %d / %d",tmp,sy); getch(); return 0; } Örnek 1 : Kullanıcının girmiş olduğu iki sayının arkadaş sayı olup olmadığını bulan bir C programı yazınız. Arkadaş Sayılar: A ve B pozitif iki sayı olsun. A'nın kendisi hariç pozitif bölenlerinin toplamı B ise ve B'nin kendisi hariç pozitif bölenlerinin toplamı A ise A ile B arkadaş sayılardır. Örneğin: 220 ile 284 arkadaş sayılardır.S(220)=1+2+4+5+10+11+20+22+44+55+110=284S(284)=1+2+4+71+142=220 #include #include int main() { int sayi1,sayi2; int s1Toplam=1,s2Toplam=1; int gecici,i=2; printf("Lutfen Sayilari Giriniz:n"); scanf("%d %d",&sayi1,&sayi2); if (sayi2>sayi1) { gecici=sayi1; sayi1=sayi2; sayi2=gecici; } while( i<=(sayi1/2) ) { if(sayi1%i==0) s1Toplam=s1Toplam+i; if(sayi2%i==0) s2Toplam=s2Toplam+i; i=i+1; } if(sayi1==s2Toplam && sayi2==s1Toplam) printf("nArkadas Sayilardir."); else printf("nArkadas Sayi Degillerdir."); getch(); return 0; } Örnek 2 : Kullanıcının girmiş olduğu uzunluk ve genişlik değerlerine göre ekrana dikdörtgen şeklini çizdiren programı yazınız. #include #include int main() { int uzunkenar,kisakenar; int i,j; printf("Uzun Kenari Giriniz:"); scanf("%d",&uzunkenar); printf("Kisa Kenari Giriniz:"); scanf("%d",&kisakenar); for (i=1; i<=kisakenar; i++) { for (j=1; j<=uzunkenar; j++) { if (i==1) printf("* "); else if (i==kisakenar) printf("* "); else if (j==1 || j==uzunkenar) printf("* "); else printf(" "); } printf("n" ); } getch(); return 0; } Örnek 3 : Kullanıcının girmiş olduğu ondalıklı sayıyı, sadeleşemeyecek şekilde rasyonel sayı olarak ekrana yazdıran bir C programı yazınız. Not: Sayımızı virgülden kurtarıp, kaç kere 10'la çarptığımızı hesaplatıp, ona göre ikisini bölen bir sayıya böleceğiz. #include #include #include int main() { float sayi; int tmp, sy=1,i; printf("Lutfen Float turunden bir sayi giriniz:"); scanf("%f",&sayi); tmp=sayi; while(sayi-tmp!=0) { sayi=sayi*10; sy=sy*10; tmp=sayi; } for(i=2; i<=sy; i++) { while((tmp%i==0) && (sy%i==0)) { tmp=tmp/i; sy=sy/i; } } printf("nGirilen float degerimizin rasyonel hali: %d / %d",tmp,sy); getch(); return 0; } C Programlama Örnek Kelimeleri Alfabetik olarak Sıralama #include #include #include int main() { int ametin; printf("Lutfen Kelime Sayisini Belirtiniz:n"); scanf("%d", &ametin); char Kelimeler[ametin][100], t[100]; int x, y; printf("nLutfen Kelimeleri Giriniz:n"); for (x = 0; x < ametin; x++) scanf("%s", Kelimeler[x]); printf("nMetindeki Kelimeler:"); for (x=0; x 0) { strcpy(t, Kelimeler[y - 1]); strcpy(Kelimeler[y - 1], Kelimeler[y]); strcpy(Kelimeler[y], t); } } } printf("n---------------------------------------------------n"); printf("nMetindeki Kelimeleriniz Alfabetik Olarak Siralandi: "); for (x = 0; x < ametin; x++) printf("n%s", Kelimeler[x]); return 0; } C Programlama Mükemmel Sayıları Bulmak (Perfect Numbers) Kendisi hariç bütün pozitif bölenlerinin toplamı kendisine eşit olan sayılara mükemmel sayı denir. Mükemmel sayı terimini ilk olarak Pisagor ortaya atmıştır. Pisagor'a göre sayılarda mükemmellik, bir sayının bölenleriyle ilgiliydi. 6 bir mükemmel sayıdır. Çünkü 6'nın pozitif bölenleri 1,2,3 ve 6'dır. 1+2+3=6 Bunun gibi 28 de mükemmel sayıdır. 28 = 1 + 2 + 4 + 7 + 14 Sayılar büyüdükçe mükemmel sayıları bulmak daha da zorlaşır. Günümüz bilgisayarlarının işlem gücüyle 34 milyondan fazla basamağı olan mükemmel sayılar keşfedildi. * 6,* 28,* 496,* 8128,* 33550336,* 8589869056,* 137438691328,* 2305843008139952128*................................................C programlama dili ile iki sayı arasındaki mükemmel sayıları bulalım: #include #include int main() { int x, y, bir, iki, z; printf("--------------------------------------- n"); printf("Birinci sayiyi giriniz: "); scanf("%d", &bir); printf("ikinci sayiyi giriniz: "); scanf("%d", &iki); printf("iki sayi araligindaki mukemmel sayilar: n"); printf("--------------------------------------- n"); printf("%d ve %d: arasinda n", bir, iki); printf("--------------------------------------- n"); for(x=bir; x<=iki; x++) { z = 0; for(y=1; y - C Programlama Örnek Bubble Sort (Kabarcık Sıralaması)
- C Programlama Örnek Selection Sort (Seçerek Sıralama)
- C Programlama Örnek Kelimeleri Alfabetik olarak Sıralama
- C Programlama Mükemmel Sayıları Bulmak (Perfect Numbers)
C Programlama Örnekleri
Örnek 1 :
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
//Klavyeden girilen iki sayının toplamını bulan bir c programı//
int s1,s2,t;
printf("Birici sayiyi giriniz");
scanf("%d",&s1);
printf("ikinci sayiyi giriniz");
scanf("%d",&s2);
t=s1+s2;
printf("nnSayilarin Toplami: %d",t);
return 0;
}
Örnek 2 :
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
//Klavyeden girilen iki notun ortalamasını bulan bir c programı - vize%40 final%60 olarak //
int s1,s2,t;
printf("Vize notunu giriniz:");
scanf("%d",&s1);
printf("Final notunu giriniz:");
scanf("%d",&s2);
t=s1*0.4+s2*0.6;
printf("n Notlarin Ortalamasi: %d",t);
// printf("%d",t);
return 0;
}
Örnek 3 :
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
//Klavyeden girilen iki sayının çarpım ve bölümünü bulan bir c programı//
int s1,s2,c,b;
printf("Birici sayiyi giriniz");
scanf("%d",&s1);
printf("ikinci sayiyi giriniz");
scanf("%d",&s2);
c=s1*s2;
b=s1/s2;
printf("nnsayilarin carpimi: %d",c);
printf("nsayilarin bolumu: %d",b);
return 0;
}
Örnek 4 :
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
//Klavyeden iki notun ortalamasını bulan ve ortalaması 45den büyükse geçti değilse kaldı yazan bir c programı//
int s1,s2,t;
printf("Vize notunu giriniz:");
scanf("%d",&s1);
printf("Final notunu giriniz:");
scanf("%d",&s2);
t=s1*0.4+s2*0.6;
if(t<45)
{
printf("KALDI.%d",t);
}
else
{
printf("GECTI: %d",t);
}
return 0;
}
Örnek 5 :
#include <stdio.h>
#include <stdlib.h>
int main()
{
//Klavyeden girilen isminizi 10 defa yazdıran bir c programı//
int sayac;
char isim[200];
printf("Isminizi Yaziniz:");
scanf("%s",&isim);
printf("nn");
for(sayac=1;sayac<11;sayac++)
{
printf("%d.Metin: %sn",sayac,isim);
}
return 0;
}
Örnek 6 :
#include <stdio.h>
#include <stdlib.h>
int main()
{
//0'dan 10'a kadar olan sayıların toplamını bulan bir c programı//
int t=0;
int sayac;
for(sayac=0;sayac<=10;sayac++)
{
t=t+sayac;
}
printf("%d",t);
return 0;
}
Örnek 1 : 1'den n'e kadar Olan Çift Sayıların Toplamı ve Ortalaması
#include <stdio.h>
#include <conio.h>
int main(){
int adet, sayac = 0, toplam = 0, i;
printf("Lütfen kontrol edilecek n degerini giriniz: ");
scanf("%d", &adet);
if( adet <= 1 ){ //1 ve 1'den küçük ise sonlandır.
printf("Lutfen 1 den buyuk deger giriniz!");
getch();
return 0;
}
for ( i=1; i<=adet; i++ ){
if( i % 2 == 0){
toplam+=i;
sayac++;
}
}
printf("Toplam= %dn", toplam);
printf("Ortalama= %d", toplam / sayac);
getch();
return 0;
}
Örnek 2 : 1'den n'e kadar Olan Tek Sayıların Toplamı ve Ortalaması
#include <stdio.h>
#include <conio.h>
int main(){
int adet, sayac = 0, toplam = 0, i;
printf("Lütfen kontrol edilecek n degerini giriniz: ");
scanf("%d", &adet);
if( adet <= 0 ){ //1'den küçük ise sonlandır.
printf("Lutfen 0 dan buyuk deger giriniz!");
getch();
return 0;
}
for ( i=1; i<=adet; i++ ){
if( i % 2 == 1){
toplam+=i;
sayac++;
}
}
printf("Toplam= %dn", toplam);
printf("Ortalama= %d", toplam/sayac);
getch();
return 0;
}
Örnek 3 : 0'dan 100'e kadar ve 5'e bölünebilen sayılar yazdırma…
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int sayac;
for (sayac=0; sayac<=100; sayac+=5)
printf("%dn", sayac);
system("pause");
return 0;
}
Örnek 4 : 1'den n'e kadar Çift ve Tek Sayıların Toplamı ve Ortalaması
#include <stdio.h>
#include <conio.h>
int main()
{
int adet, sayacT = 0, sayacC = 0, toplamT = 0, toplamC = 0, i;
printf("Lütfen kontrol edilecek n degerini giriniz: ");
scanf("%d", &adet);
if( adet <= 0 )
{
printf("Lutfen 0 dan buyuk deger giriniz!");
getch();
return 0;
}
for ( i=1; i<=adet; i++ )
{
if( i % 2 == 0)
{
toplamC+=i;
sayacC++;
}
else
{
toplamT+=i;
sayacT++;
}
}
if( adet != 1)
{
printf("****Cift Sayilar***n");
printf("Toplam= %dn", toplamC);
printf("Ortalama= %dn", toplamC / sayacC);
}
printf("****Tek Sayilar***n");
printf("Toplam= %dn", toplamT);
printf("Ortalama= %d", toplamT / sayacT);
getch();
return 0;
}
Örnek 5 : Klavyeden girilen bir tamsayının hanelerindeki en büyük sayıyı bulma...
#include <stdio.h>
#include <conio.h>
int main()
{
int
sayi, b, max=0;
printf
("Lutfen bir sayi giriniz : ");
scanf
("%d",&sayi);
while
(sayi>0)
{
b = sayi % 10;
if
(b>max) max = b;
sayi /= 10;
}
printf
("En buyuk hanenin degeri : %d",max);
getche();
}
Tersten ve düzden okunduğu zaman okunuş yönüyle aynı olan sayılara Palindromik Sayılar denir.
Örnek: 3,5,8,101,232,3663,8008,12431 vb.
Asal palindromik sayılar: 2, 3, 5, 7, 11, 101, 131, 151, 181, 191,….
Karesel palindromik sayılar: 0, 1, 4, 9, 121, 484, 676, 10201, 12321, 14641, 40804, 44944,….
Küpsel palindromik sayılar: 0, 1, 8, 343, 1331, 1030301, 1367631, 1003003001,....
#include <stdio.h>
int main()
{
int n, t = 0, temp;
printf("LUTFEN BIR SAYI GIRINIZn");
scanf("%d",&n);
temp = n;
while( temp != 0 )
{
t = t * 10;
t = t + temp%10;
temp = temp/10;
}
if ( n == t )
printf("%d PALINDROMIK BIR SAYIDIRn", n);
else
printf("%d PALINDROMIK DEGILDIRn", n);
return 0;
}
Tüm basamaklarındaki rakamların sayı değerlerinin küpleri toplamı, kendisine eşit olan sayılara "Armstrong sayı" denir. Diğer bir deyişle her bir basamağın o sayının basamak sayısı kadar üssü alınarak toplanmasıdır. Eğer toplam bu sayıyı veriyorsa o sayı Armstrong Sayıdır.
Bazı Armstrong sayıları: 0, 1, 2, 3, 153, 370, 407, 1634, 8208
153 = 13 + 53 + 33
1634 = 14 + 64 + 34 + 44
#include <stdio.h>
int pw(int, int);
int main()
{
int s, sonuc = 0, gecici, bdeger, basamak = 0;
printf("LUTFEN BIR SAYI GIRINIZn");
scanf("%d", &s);
gecici = s;
while (gecici != 0) {
basamak++;
gecici = gecici/10;
}
gecici = s;
while (gecici != 0) {
bdeger = gecici%10;
sonuc = sonuc + pw(bdeger, basamak);
gecici = gecici/10;
}
if (s == sonuc)
printf("%d ARMSTRONG SAYIDIR.n", s);
else
printf("%d ARMSTRONG SAYI DEGILDIR.n", s);
return 0;
}
int pw(int s, int r) {
int c, p = 1;
for (c = 1; c <= r; c++)
p = p*s;
return p;
Kullanıcıdan alınan Decimal (Ondalık Sistem) sayıyı Binary (ikili Sisteme) dönüştüren C Programı.
#include <stdio.h>
int main()
{
int s, x, y;
printf("LUTFEN BIR SAYI GIRINIZn");
scanf("%d", &s);
printf("%d IKILI SAYI SISTEMINDE:n", s);
for (x = 50; x >= 0; x--)
{
y = s >> x;
if (y & 1)
printf("1");
else
printf("0");
}
printf("n");
return 0;
}
C Programlama Örnek Bubble Sort (Kabarcık Sıralaması)
Verinin hafızada sıralı tutulması için geliştirilen sıralama algoritmalarından (sorting algorithms) arasında yazılması en kolay olan, ama büyük dizilerde çok yavaş kalan bir sıralama yöntemidir.
Kabarcık sıralaması'nın rastgele üretilmiş sayıları sıraladığını gösteren bir örnek
Sıralanacak dizinin üzerinde sürekli ilerlerken her defasında iki öğenin birbiriyle karşılaştırılıp, karşılaştırılan öğelerin yanlış sırada olmaları durumunda yerlerinin değiştirilmesi mantığına dayanır. Algoritma, herhangi bir değişiklik yapılmayıncaya kadar dizinin başına dönerek kendisini yineler. Adına "Kabarcık" sıralaması denmesinin nedeni büyük olan sayıların aynı suyun altındaki bir kabarcık gibi dizinin üstüne doğru ilerlemesidir.
#include <stdio.h>
int main()
{
int dizi[100], s, x, y, t;
printf("LUTFEN DIZI ICIN ELEMAN SAYISINI GIRINIZn");
scanf("%d", &s);
printf("%d ELEMAN DEGERLERINI GIRINIZn", s);
for (x = 0; x < s; x++)
scanf("%d", &dizi[x]);
for (x = 0 ; x < ( s - 1 ); x++)
{
for (y = 0 ; y < s - x - 1; y++)
{
if (dizi[y] > dizi[y+1])
{
t = dizi[y];
dizi[y] = dizi[y+1];
dizi[y+1] = t;
}
}
}
printf("ARTAN SIRAYA GORE LISTELEME:n");
for ( x = 0 ; x < s ; x++ )
printf("%dn", dizi[x]);
return 0;
}
C Programlama Örnek Selection Sort (Seçerek Sıralama)
Verinin hafızada sıralı tutulması için geliştirilen sıralama algoritmalarından (sorting algorithms) Selection Sort (Seçerek Sıralama) algoritmasında uygulanan her adımda eldeki dizinin en küçük elemanı bulunuyor ve en başa atılıyor. Bu işlem her seferinde tekrarlanıyor. Dizinin sonuna gelindiğinde dizimiz küçükten büyüğe sıralanmış oluyor. Büyük sayıda verileri sıralamak için elverişsizdir. Bubble Sort algoritmasının iyileştirilmiş biçimi sayılır.
#include <stdio.h>
int main()
{
int dizi[100], s, x, y, pw, t;
printf("LUTFEN DIZI ICIN ELEMAN SAYISINI GIRINIZn");
scanf("%d", &s);
printf("%d ELEMANA AIT DEGERLERI GIRINIZn", s);
for ( x = 0 ; x < s ; x++ )
scanf("%d", &dizi[x]);
for ( x = 0 ; x < ( s - 1 ) ; x++ )
{
pw = x;
for ( y = x + 1 ; y < s ; y++ )
{
if ( dizi[pw] > dizi[y] )
pw = y;
}
if ( pw != x )
{
t = dizi[x];
dizi[x] = dizi[pw];
dizi[pw] = t;
}
}
printf("ARTAN SIRAYA GORE LISTELEME:n");
for ( x = 0 ; x < s ; x++ )
printf("%dn", dizi[x]);
return 0;
}
Örnek 1 : Kullanıcının girmiş olduğu iki sayının arkadaş sayı olup olmadığını bulan bir C programı yazınız.
Arkadaş Sayılar: A ve B pozitif iki sayı olsun. A'nın kendisi hariç pozitif bölenlerinin toplamı B ise ve B'nin kendisi hariç pozitif bölenlerinin toplamı A ise A ile B arkadaş sayılardır.
Örneğin:
220 ile 284 arkadaş sayılardır.
S(220)=1+2+4+5+10+11+20+22+44+55+110=284
S(284)=1+2+4+71+142=220
#include <stdio.h>
#include <conio.h>
int main()
{
int sayi1,sayi2;
int s1Toplam=1,s2Toplam=1;
int gecici,i=2;
printf("Lutfen Sayilari Giriniz:n");
scanf("%d %d",&sayi1,&sayi2);
if (sayi2>sayi1)
{
gecici=sayi1;
sayi1=sayi2;
sayi2=gecici;
}
while( i<=(sayi1/2) )
{
if(sayi1%i==0)
s1Toplam=s1Toplam+i;
if(sayi2%i==0)
s2Toplam=s2Toplam+i;
i=i+1;
}
if(sayi1==s2Toplam && sayi2==s1Toplam)
printf("nArkadas Sayilardir.");
else
printf("nArkadas Sayi Degillerdir.");
getch();
return 0;
}
Örnek 2 : Kullanıcının girmiş olduğu uzunluk ve genişlik değerlerine göre ekrana dikdörtgen şeklini çizdiren programı yazınız.
#include <stdio.h>
#include <conio.h>
int main()
{
int uzunkenar,kisakenar;
int i,j;
printf("Uzun Kenari Giriniz:");
scanf("%d",&uzunkenar);
printf("Kisa Kenari Giriniz:");
scanf("%d",&kisakenar);
for
(i=1; i<=kisakenar; i++)
{
for
(j=1; j<=uzunkenar; j++)
{
if (i==1)
printf("* ");
else if
(i==kisakenar)
printf("* ");
else if
(j==1 || j==uzunkenar)
printf("* ");
else
printf(" ");
}
printf("n"
);
}
getch();
return 0;
}
Örnek 3 : Kullanıcının girmiş olduğu ondalıklı sayıyı, sadeleşemeyecek şekilde rasyonel sayı olarak ekrana yazdıran bir C programı yazınız.
Not: Sayımızı virgülden kurtarıp, kaç kere 10'la çarptığımızı hesaplatıp, ona göre ikisini bölen bir sayıya böleceğiz.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main()
{
float sayi;
int tmp, sy=1,i;
printf("Lutfen Float turunden bir sayi giriniz:");
scanf("%f",&sayi);
tmp=sayi;
while(sayi-tmp!=0)
{
sayi=sayi*10;
sy=sy*10;
tmp=sayi;
}
for(i=2; i<=sy; i++)
{
while((tmp%i==0) && (sy%i==0))
{
tmp=tmp/i;
sy=sy/i;
}
}
printf("nGirilen float degerimizin rasyonel hali: %d / %d",tmp,sy);
getch();
return 0;
}
C Programlama Mükemmel Sayıları Bulmak (Perfect Numbers)
Kendisi hariç bütün pozitif bölenlerinin toplamı kendisine eşit olan sayılara mükemmel sayı denir. Mükemmel sayı terimini ilk olarak Pisagor ortaya atmıştır. Pisagor'a göre sayılarda mükemmellik, bir sayının bölenleriyle ilgiliydi.
6 bir mükemmel sayıdır. Çünkü 6'nın pozitif bölenleri 1,2,3 ve 6'dır. 1+2+3=6 Bunun gibi 28 de mükemmel sayıdır. 28 = 1 + 2 + 4 + 7 + 14 Sayılar büyüdükçe mükemmel sayıları bulmak daha da zorlaşır. Günümüz bilgisayarlarının işlem gücüyle 34 milyondan fazla basamağı olan mükemmel sayılar keşfedildi.
* 6,
* 28,
* 496,
* 8128,
* 33550336,
* 8589869056,
* 137438691328,
* 2305843008139952128
*................................................
C programlama dili ile iki sayı arasındaki mükemmel sayıları bulalım:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x, y, bir, iki, z;
printf("--------------------------------------- n");
printf("Birinci sayiyi giriniz: ");
scanf("%d", &bir);
printf("ikinci sayiyi giriniz: ");
scanf("%d", &iki);
printf("iki sayi araligindaki mukemmel sayilar: n");
printf("--------------------------------------- n");
printf("%d ve %d: arasinda n", bir, iki);
printf("--------------------------------------- n");
for(x=bir; x<=iki; x++)
{
z = 0;
for(y=1; y<x; y++)
{
if(x % y == 0)
{
z += y;
}
}
if(z == x)
{
printf("%d, ", x);
}
}
return 0;
}
Örnek 1 :
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
//Klavyeden girilen iki sayının toplamını bulan bir c programı//
int s1,s2,t;
printf("Birici sayiyi giriniz");
scanf("%d",&s1);
printf("ikinci sayiyi giriniz");
scanf("%d",&s2);
t=s1+s2;
printf("nnSayilarin Toplami: %d",t);
return 0;
}
Örnek 2 :
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
//Klavyeden girilen iki notun ortalamasını bulan bir c programı - vize%40 final%60 olarak //
int s1,s2,t;
printf("Vize notunu giriniz:");
scanf("%d",&s1);
printf("Final notunu giriniz:");
scanf("%d",&s2);
t=s1*0.4+s2*0.6;
printf("n Notlarin Ortalamasi: %d",t);
// printf("%d",t);
return 0;
}
Örnek 3 :
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
//Klavyeden girilen iki sayının çarpım ve bölümünü bulan bir c programı//
int s1,s2,c,b;
printf("Birici sayiyi giriniz");
scanf("%d",&s1);
printf("ikinci sayiyi giriniz");
scanf("%d",&s2);
c=s1*s2;
b=s1/s2;
printf("nnsayilarin carpimi: %d",c);
printf("nsayilarin bolumu: %d",b);
return 0;
}
Örnek 4 :
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
//Klavyeden iki notun ortalamasını bulan ve ortalaması 45den büyükse geçti değilse kaldı yazan bir c programı//
int s1,s2,t;
printf("Vize notunu giriniz:");
scanf("%d",&s1);
printf("Final notunu giriniz:");
scanf("%d",&s2);
t=s1*0.4+s2*0.6;
if(t<45)
{
printf("KALDI.%d",t);
}
else
{
printf("GECTI: %d",t);
}
return 0;
}
Örnek 5 :
#include <stdio.h>
#include <stdlib.h>
int main()
{
//Klavyeden girilen isminizi 10 defa yazdıran bir c programı//
int sayac;
char isim[200];
printf("Isminizi Yaziniz:");
scanf("%s",&isim);
printf("nn");
for(sayac=1;sayac<11;sayac++)
{
printf("%d.Metin: %sn",sayac,isim);
}
return 0;
}
Örnek 6 :
#include <stdio.h>
#include <stdlib.h>
int main()
{
//0'dan 10'a kadar olan sayıların toplamını bulan bir c programı//
int t=0;
int sayac;
for(sayac=0;sayac<=10;sayac++)
{
t=t+sayac;
}
printf("%d",t);
return 0;
}
Örnek 1 : 1'den n'e kadar Olan Çift Sayıların Toplamı ve Ortalaması
#include <stdio.h>
#include <conio.h>
int main(){
int adet, sayac = 0, toplam = 0, i;
printf("Lütfen kontrol edilecek n degerini giriniz: ");
scanf("%d", &adet);
if( adet <= 1 ){ //1 ve 1'den küçük ise sonlandır.
printf("Lutfen 1 den buyuk deger giriniz!");
getch();
return 0;
}
for ( i=1; i<=adet; i++ ){
if( i % 2 == 0){
toplam+=i;
sayac++;
}
}
printf("Toplam= %dn", toplam);
printf("Ortalama= %d", toplam / sayac);
getch();
return 0;
}
Örnek 2 : 1'den n'e kadar Olan Tek Sayıların Toplamı ve Ortalaması
#include <stdio.h>
#include <conio.h>
int main(){
int adet, sayac = 0, toplam = 0, i;
printf("Lütfen kontrol edilecek n degerini giriniz: ");
scanf("%d", &adet);
if( adet <= 0 ){ //1'den küçük ise sonlandır.
printf("Lutfen 0 dan buyuk deger giriniz!");
getch();
return 0;
}
for ( i=1; i<=adet; i++ ){
if( i % 2 == 1){
toplam+=i;
sayac++;
}
}
printf("Toplam= %dn", toplam);
printf("Ortalama= %d", toplam/sayac);
getch();
return 0;
}
Örnek 3 : 0'dan 100'e kadar ve 5'e bölünebilen sayılar yazdırma…
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int sayac;
for (sayac=0; sayac<=100; sayac+=5)
printf("%dn", sayac);
system("pause");
return 0;
}
Örnek 4 : 1'den n'e kadar Çift ve Tek Sayıların Toplamı ve Ortalaması
#include <stdio.h>
#include <conio.h>
int main()
{
int adet, sayacT = 0, sayacC = 0, toplamT = 0, toplamC = 0, i;
printf("Lütfen kontrol edilecek n degerini giriniz: ");
scanf("%d", &adet);
if( adet <= 0 )
{
printf("Lutfen 0 dan buyuk deger giriniz!");
getch();
return 0;
}
for ( i=1; i<=adet; i++ )
{
if( i % 2 == 0)
{
toplamC+=i;
sayacC++;
}
else
{
toplamT+=i;
sayacT++;
}
}
if( adet != 1)
{
printf("****Cift Sayilar***n");
printf("Toplam= %dn", toplamC);
printf("Ortalama= %dn", toplamC / sayacC);
}
printf("****Tek Sayilar***n");
printf("Toplam= %dn", toplamT);
printf("Ortalama= %d", toplamT / sayacT);
getch();
return 0;
}
Örnek 5 : Klavyeden girilen bir tamsayının hanelerindeki en büyük sayıyı bulma...
#include <stdio.h>
#include <conio.h>
int main()
{
int
sayi, b, max=0;
printf
("Lutfen bir sayi giriniz : ");
scanf
("%d",&sayi);
while
(sayi>0)
{
b = sayi % 10;
if
(b>max) max = b;
sayi /= 10;
}
printf
("En buyuk hanenin degeri : %d",max);
getche();
}
Tersten ve düzden okunduğu zaman okunuş yönüyle aynı olan sayılara Palindromik Sayılar denir.
Örnek: 3,5,8,101,232,3663,8008,12431 vb.
Asal palindromik sayılar: 2, 3, 5, 7, 11, 101, 131, 151, 181, 191,….
Karesel palindromik sayılar: 0, 1, 4, 9, 121, 484, 676, 10201, 12321, 14641, 40804, 44944,….
Küpsel palindromik sayılar: 0, 1, 8, 343, 1331, 1030301, 1367631, 1003003001,....
Örnek: 3,5,8,101,232,3663,8008,12431 vb.
Asal palindromik sayılar: 2, 3, 5, 7, 11, 101, 131, 151, 181, 191,….
Karesel palindromik sayılar: 0, 1, 4, 9, 121, 484, 676, 10201, 12321, 14641, 40804, 44944,….
Küpsel palindromik sayılar: 0, 1, 8, 343, 1331, 1030301, 1367631, 1003003001,....
#include <stdio.h> int main() { int n, t = 0, temp; printf("LUTFEN BIR SAYI GIRINIZn"); scanf("%d",&n); temp = n; while( temp != 0 ) { t = t * 10; t = t + temp%10; temp = temp/10; } if ( n == t ) printf("%d PALINDROMIK BIR SAYIDIRn", n); else printf("%d PALINDROMIK DEGILDIRn", n); return 0; }
Tüm basamaklarındaki rakamların sayı değerlerinin küpleri toplamı, kendisine eşit olan sayılara "Armstrong sayı" denir. Diğer bir deyişle her bir basamağın o sayının basamak sayısı kadar üssü alınarak toplanmasıdır. Eğer toplam bu sayıyı veriyorsa o sayı Armstrong Sayıdır.
Bazı Armstrong sayıları: 0, 1, 2, 3, 153, 370, 407, 1634, 8208
Bazı Armstrong sayıları: 0, 1, 2, 3, 153, 370, 407, 1634, 8208
153 = 13 + 53 + 33
#include <stdio.h> int pw(int, int); int main() { int s, sonuc = 0, gecici, bdeger, basamak = 0; printf("LUTFEN BIR SAYI GIRINIZn"); scanf("%d", &s); gecici = s; while (gecici != 0) { basamak++; gecici = gecici/10; } gecici = s; while (gecici != 0) { bdeger = gecici%10; sonuc = sonuc + pw(bdeger, basamak); gecici = gecici/10; } if (s == sonuc) printf("%d ARMSTRONG SAYIDIR.n", s); else printf("%d ARMSTRONG SAYI DEGILDIR.n", s); return 0; } int pw(int s, int r) { int c, p = 1; for (c = 1; c <= r; c++) p = p*s; return p;
Kullanıcıdan alınan Decimal (Ondalık Sistem) sayıyı Binary (ikili Sisteme) dönüştüren C Programı.
#include <stdio.h> int main() { int s, x, y; printf("LUTFEN BIR SAYI GIRINIZn"); scanf("%d", &s); printf("%d IKILI SAYI SISTEMINDE:n", s); for (x = 50; x >= 0; x--) { y = s >> x; if (y & 1) printf("1"); else printf("0"); } printf("n"); return 0; }
C Programlama Örnek Bubble Sort (Kabarcık Sıralaması)
Verinin hafızada sıralı tutulması için geliştirilen sıralama algoritmalarından (sorting algorithms) arasında yazılması en kolay olan, ama büyük dizilerde çok yavaş kalan bir sıralama yöntemidir.
Kabarcık sıralaması'nın rastgele üretilmiş sayıları sıraladığını gösteren bir örnek |
Sıralanacak dizinin üzerinde sürekli ilerlerken her defasında iki öğenin birbiriyle karşılaştırılıp, karşılaştırılan öğelerin yanlış sırada olmaları durumunda yerlerinin değiştirilmesi mantığına dayanır. Algoritma, herhangi bir değişiklik yapılmayıncaya kadar dizinin başına dönerek kendisini yineler. Adına "Kabarcık" sıralaması denmesinin nedeni büyük olan sayıların aynı suyun altındaki bir kabarcık gibi dizinin üstüne doğru ilerlemesidir.
#include <stdio.h> int main() { int dizi[100], s, x, y, t; printf("LUTFEN DIZI ICIN ELEMAN SAYISINI GIRINIZn"); scanf("%d", &s); printf("%d ELEMAN DEGERLERINI GIRINIZn", s); for (x = 0; x < s; x++) scanf("%d", &dizi[x]); for (x = 0 ; x < ( s - 1 ); x++) { for (y = 0 ; y < s - x - 1; y++) { if (dizi[y] > dizi[y+1]) { t = dizi[y]; dizi[y] = dizi[y+1]; dizi[y+1] = t; } } } printf("ARTAN SIRAYA GORE LISTELEME:n"); for ( x = 0 ; x < s ; x++ ) printf("%dn", dizi[x]); return 0; }
C Programlama Örnek Selection Sort (Seçerek Sıralama)
Verinin hafızada sıralı tutulması için geliştirilen sıralama algoritmalarından (sorting algorithms) Selection Sort (Seçerek Sıralama) algoritmasında uygulanan her adımda eldeki dizinin en küçük elemanı bulunuyor ve en başa atılıyor. Bu işlem her seferinde tekrarlanıyor. Dizinin sonuna gelindiğinde dizimiz küçükten büyüğe sıralanmış oluyor. Büyük sayıda verileri sıralamak için elverişsizdir. Bubble Sort algoritmasının iyileştirilmiş biçimi sayılır.
#include <stdio.h> int main() { int dizi[100], s, x, y, pw, t; printf("LUTFEN DIZI ICIN ELEMAN SAYISINI GIRINIZn"); scanf("%d", &s); printf("%d ELEMANA AIT DEGERLERI GIRINIZn", s); for ( x = 0 ; x < s ; x++ ) scanf("%d", &dizi[x]); for ( x = 0 ; x < ( s - 1 ) ; x++ ) { pw = x; for ( y = x + 1 ; y < s ; y++ ) { if ( dizi[pw] > dizi[y] ) pw = y; } if ( pw != x ) { t = dizi[x]; dizi[x] = dizi[pw]; dizi[pw] = t; } } printf("ARTAN SIRAYA GORE LISTELEME:n"); for ( x = 0 ; x < s ; x++ ) printf("%dn", dizi[x]); return 0; }
Örnek 1 : Kullanıcının girmiş olduğu iki sayının arkadaş sayı olup olmadığını bulan bir C programı yazınız.
Arkadaş Sayılar: A ve B pozitif iki sayı olsun. A'nın kendisi hariç pozitif bölenlerinin toplamı B ise ve B'nin kendisi hariç pozitif bölenlerinin toplamı A ise A ile B arkadaş sayılardır.
Örneğin:
220 ile 284 arkadaş sayılardır.
S(220)=1+2+4+5+10+11+20+22+44+55+110=284
S(284)=1+2+4+71+142=220
#include <stdio.h>
#include <conio.h>
int main()
{
int sayi1,sayi2;
int s1Toplam=1,s2Toplam=1;
int gecici,i=2;
printf("Lutfen Sayilari Giriniz:n");
scanf("%d %d",&sayi1,&sayi2);
if (sayi2>sayi1)
{
gecici=sayi1;
sayi1=sayi2;
sayi2=gecici;
}
while( i<=(sayi1/2) )
{
if(sayi1%i==0)
s1Toplam=s1Toplam+i;
if(sayi2%i==0)
s2Toplam=s2Toplam+i;
i=i+1;
}
if(sayi1==s2Toplam && sayi2==s1Toplam)
printf("nArkadas Sayilardir.");
else
printf("nArkadas Sayi Degillerdir.");
getch();
return 0;
}
Örnek 2 : Kullanıcının girmiş olduğu uzunluk ve genişlik değerlerine göre ekrana dikdörtgen şeklini çizdiren programı yazınız.
#include <stdio.h>
#include <conio.h>
int main()
{
int uzunkenar,kisakenar;
int i,j;
printf("Uzun Kenari Giriniz:");
scanf("%d",&uzunkenar);
printf("Kisa Kenari Giriniz:");
scanf("%d",&kisakenar);
for
(i=1; i<=kisakenar; i++)
{
for
(j=1; j<=uzunkenar; j++)
{
if (i==1)
printf("* ");
else if
(i==kisakenar)
printf("* ");
else if
(j==1 || j==uzunkenar)
printf("* ");
else
printf(" ");
}
printf("n"
);
}
getch();
return 0;
}
Örnek 3 : Kullanıcının girmiş olduğu ondalıklı sayıyı, sadeleşemeyecek şekilde rasyonel sayı olarak ekrana yazdıran bir C programı yazınız.
Not: Sayımızı virgülden kurtarıp, kaç kere 10'la çarptığımızı hesaplatıp, ona göre ikisini bölen bir sayıya böleceğiz.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main()
{
float sayi;
int tmp, sy=1,i;
printf("Lutfen Float turunden bir sayi giriniz:");
scanf("%f",&sayi);
tmp=sayi;
while(sayi-tmp!=0)
{
sayi=sayi*10;
sy=sy*10;
tmp=sayi;
}
for(i=2; i<=sy; i++)
{
while((tmp%i==0) && (sy%i==0))
{
tmp=tmp/i;
sy=sy/i;
}
}
printf("nGirilen float degerimizin rasyonel hali: %d / %d",tmp,sy);
getch();
return 0;
}
C Programlama Mükemmel Sayıları Bulmak (Perfect Numbers)
Kendisi hariç bütün pozitif bölenlerinin toplamı kendisine eşit olan sayılara mükemmel sayı denir. Mükemmel sayı terimini ilk olarak Pisagor ortaya atmıştır. Pisagor'a göre sayılarda mükemmellik, bir sayının bölenleriyle ilgiliydi.
6 bir mükemmel sayıdır. Çünkü 6'nın pozitif bölenleri 1,2,3 ve 6'dır. 1+2+3=6 Bunun gibi 28 de mükemmel sayıdır. 28 = 1 + 2 + 4 + 7 + 14 Sayılar büyüdükçe mükemmel sayıları bulmak daha da zorlaşır. Günümüz bilgisayarlarının işlem gücüyle 34 milyondan fazla basamağı olan mükemmel sayılar keşfedildi.
* 28,
* 496,
* 8128,
* 33550336,
* 8589869056,
* 137438691328,
* 2305843008139952128
*................................................
C programlama dili ile iki sayı arasındaki mükemmel sayıları bulalım:
#include <stdio.h> #include <stdlib.h> int main() { int x, y, bir, iki, z; printf("--------------------------------------- n"); printf("Birinci sayiyi giriniz: "); scanf("%d", &bir); printf("ikinci sayiyi giriniz: "); scanf("%d", &iki); printf("iki sayi araligindaki mukemmel sayilar: n"); printf("--------------------------------------- n"); printf("%d ve %d: arasinda n", bir, iki); printf("--------------------------------------- n"); for(x=bir; x<=iki; x++) { z = 0; for(y=1; y<x; y++) { if(x % y == 0) { z += y; } } if(z == x) { printf("%d, ", x); } } return 0; }