You are on page 1of 39

0

C rnekleri

2013

www.eemdersnotlari.com

NUM
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
37
38
39

SORU
1den 100e kadar olan saylarn toplamn ekrana yazdran program
1-100 kadar tek saylarn toplamn ekrana yazdran program
1-100 arasndaki saylarn tek ve ift olanlarnn ayr ayr toplamlar ekrana yazdran program
2 sayy enter ile girdirme ve gstermeyi ekrana yazdran program
Klavyeden girilen 2 sayinin toplamini, SONUCU GRMEK iin ENTERA BASIN, ifadesi iktiktan ve ekrani
temizledikten sonra sonucu ekrana yazdran program
Basit blme ilemi yapan program
Basit say arttrma ve yazma ilemini ekrana yazdran program
arpm tablosunda 6 katlarn gsteren program ekrana yazdran program
Girilen 3 saydan byk olan bulup ekrana yazdran program
Faktoriyel hesaplayan program ekrana yazdran program
Girilen bir tamsaynn tek mi ift mi olduunu ekrana yazdran program
1-10 kadar saylar toplamn GOTO kullanarak ekrana yazdran program
Girilen sayiya gre dallanan program ekrana yazdran program
Her hangi iki say arasndaki saylarn toplamn ekrana yazdran program
3 Sayy kkten bye sralayan program
Saynn 10 dan kk veya byk olduunu bulan program
Klavyeden girilen 3 sayy bykten ke sralayan program (uzun zm)
Tek basamakl 5 Adet Random sayy ekrana yazdran program
Reel saylar ekrana formatl yazdran program
genin evresini bulan program
genin alann bulan program
gen eitlerini veren program
10 elemanl bir dizinin deerleri dardan giriliyor, bu dizi ierisinde ka tane pozitif ka tane negatif say
olduunu ekrana yazan program
10 elemanl bir dizinin deerleri dardan giriliyor, girilen saylarn ortalamas alnarak; bu dizi ierisinde
ortalamadan daha kk ka tane say olduunu ve bunlar ekrana yazan program.
10 elemanl bir tamsay dizisinin deerleri dardan giriliyor. Bu dizi ierisinde ka tane ift ka tane tek say
olduunu ekrana yazan program.
3 Basamakl Saynn Basamak Degerlerini Bulup Ekrana Yazdran program
Blme ilemi sonucunda kalan veren program.
Girilen harfe gre ynlendirilen program
Klavyeden 3 ile 15 arasnda (bu saylar da dhil) bir tamsay girilmesi isteniyor, girilen bu tamsay asal say
ise; bu asal saynn faktriyelini alp sonucu ekrana yazan program
Klavyeden 100 den byk bir tamsay girilmesi isteniyor. Girilen bu tamsay asal say ise bu tamsaydan
nceki ilk asal sayy ekrana yazan program
Men ile arpma toplama karma yapan program
Dairenin alan hesaplayan program
Aritmetik ilemler
Aritmetik ilemler
2 lik sisteme dntrme
Koordinat sisteminde girilen 2 nokta arasndaki uzakl bulan program yaznz.
Girilen say pozitif ise 2 say daha girmesi isteniyor, say negatifse 3 say daha girmesi isteniyor,
say sfr girilmise 1 say daha girilmesi isteniyor. Uygun arta gre girilen saylarn ortalamasn alan
program
Klavyeden 100 den byk iki tamsay girilmesi isteniyor. Girilen bu tamsaylarn her ikisi de asal say ise
bu iki tamsayy toplayan, deilse arpan ve sonucu ekrana yazan program.
Maximum 5 Basamakli Sayi erisinde Rakamlari Bulan program yaznz.

40
41
42
43
44
45

46
47
48
49
50
51

52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73*
74
75
76

Klavyeden Girilen Maximum 4 Basamakli Bir Tamsayinin Ka Basamakli Oldugunu Bulan Pogram
1-9 aras arpm tablosu yapan program
Kullancdan 10 tane say girmesi isteniyor bu saylar ierisinde ka tane pozitif, ka tane negatif ka tane
sfr girildiini bulup ekrana yazacak program.
Kullancdan bir say girmesi isteniyor. Bu saynn pozitif, negatif ya da sfr durumuna gre ekrana yazan
program.
Test sorusu cevapn bulma
0 (sfr) faktriyel 1 e eittir, pozitif saylarn faktriyeli 1 ile say arasndaki (say dhil) tam saylarn arpm
ile bulunur. Programdan tam say girmesi isteniyor. Girilen say durumuna gre (negatif, sfr, ya da pozitif)
faktriyel bulan program
Klavyeden Girilen Bir Tamsaynn Ka Basamakl Oldugunu Bulan Pogram yaznz.
Kullancdan alnan 10 adet pozitif say ierisinden bir iki ve basamakl saylarn ka adet olduunu bulan
program.
Kullanc tarafndan girilen iki say arasndaki 3'blnen saylarn adedini bulup ekrana yazdran program
1 ile 100 arasnda bulunan 7 ile blnebilen saylarn adedini bulan program.
Dardan girilen 20 say arasndan en byk sayy ekrana yazdran program
Girilen say pozitif (+) ise 2 say daha girmesi isteniyor, say negatif(-) ise 3 say daha girmesi isteniyor, say 0
girilmise 1 say daha girilmesi isteniyor. Uygun arta gre girilen saylarn ortalamasn yazdran program
yaznz.
7-30 Saylarnn karlarna asal durumuna gre EVET ya da HAYIR yazdran program (fonksiyon
kullanlmtr).
3-100 arasndaki saylarn blenlerini, blen saysn, asal durumuna gre (E/H) yazdran program(fonksiyon
kullanlmtr).
Klavyeden girilen sayya kadar olan asal saylarn adedini ve toplamn bulan program yaznz.
stenen saydaki asal sayy ekrana yazdran program
Pascal genini yazan program
renci Not Sistemi
Fibenocci serisinin ilk 20 elemann ekrana yazdran program.
Fibonacci serisinin ilk 25 eleman ierisinden 5 e ve 7 e tam blnenlerin adedini yazan program.
Fibonecci dizisini bir N deerine kadar ekrana yazan program.
Klavyeden 10 say okutup tersten yazan program
Max 100 elemanl bir dizinin elemanlarn ekrandan okuyacak, artan srada sraladktan sonra tekrar ekrana
yazdran program
Klavyeden girilen saynn kpn ekrana yazdran program (fonksiyon)
10 Adet 1-100 aras random say reten program
Random gnn szleri program
Rastgele retilen 2 basamakl sayy bulmaya alan program
Azalan ekilde saylar sa tarafa doru yazan program
Ekran yldzlarla dolduran program
Satr ve stun tahmin eden program
Lottery oyunu program yaznz
Parti anket program
Piyango program 1-40 kadar numaralanm biletler var, 3 ADET --- 3000 TL, 5 ADET--- 500 TL, 8 ADET-- 5 TL
var, Programda bir kiiye bir den fazla ikramiye kamaz ve ilk kan ikramiye alr
Square Free tam saylar bulan program
renci bilgilerini ogrenci.txt adl dosyaya kaydetme program
Negatif Sayi Girilene Kadar Girilen Pozitif sayilari C altinda a.txt dosyasina atan program
a.txt ve b.txt dosyalarnda bulunan tamsaylar okuyup toplamlarn c dosyasna, byk olann d dosyasna
atan program

77
78
79
80
81
82
83
84
85
86
87
88*
89
90
91
92
93
94*
95
96
97*
98
99
100
101
102*
103
104
105*
106
107
108
109
110
111
112
113
114

Rastgele retilip dosyaya atlan saylarn iinde klavyeden girdiin saynn ka defa olduunu bulan program
a.txt dosyas iinde say adedi 30-50 arasnda deiebilen 1-100 arasnda saylar retilecek, kkten
bye doru dizip b dosyasna atacak
3x^3+x^2+3x+1 polinom deerlerini 0.2-25.2 deerleri arasndaki her 0.2 deer art iin bulup
sonuc.dat dosyasna yazan program
rencilerin numara, ad ve notlarnn bulunduu ogrenci.txt dosyasndan en yksek, en dk ve
ortalamay bulan program
1 den 100 kadar olan saylardan tekleri tek dosyasna, iftleri ift dosyasna kaydeden program
Dosyaya yazma rnei
Makro yazma
Makro & Function rnei
Makro rnei
Makro Fonksiyonlar
Ana Programda Saylar Klavyeden Girdirip Toplamn Fonksiyonda Bulup Sonucu Ana Programda Yazdran
Program
Fonksiyon rnei (Call By Value, Call By Referance)
Fonksiyon rnei (Call By Value, Call By Referance)
Fonksiyon rnei (Call By Referance)
Fonksiyon rnei (Call By Value)
Fonksiyon rnei (Call By Referance)
Fonksiyona Array Gnderme (Call By Reference)
Recursive (zyineli fonksiyon) rnei(1)
Recursive (zyineli fonksiyon) rnei(2) (Saynn basamak deerlerini bulur)
Recursive (zyineli fonksiyon) rnei(3) (Fibenocci serisinin ilk 20 elemann bulur)
Structure (Yap) rnei(1)
Structure (Yap) rnei(2)
Enum kullanm
Command Line Argument says 2 iken 2 sayy toplayan program (eksik ya da fazla parametrede uyar
verecektir)
Komut satrndan altrlacak hesap makinesi programn
Harici header dosyas ekleme
2 Deikeni Yedek Deiken Kullanmadan Yer Deitiren Program
stenen saydaki asal sayy ekrana yazdran program
Stringle ad yazdrma program
A-Z arasndaki harfleri yazdran program
Stringleri saa sola hizalama
Klavyeden girilen harfin kk veya byk olduunu bulan program
Klavyeden girilen bir karakter dizesinin tersi bulunarak ekrana yazdran program
Klavyeden girilen kelimenin byk-kk ya da kark harflerden ibaret olduunu bulan program
String ve Char kullanm
Klavyeden girilen harfin sesli ve byk olup olmadn bulan program
Klavyeden girilmi bir ifadenin uzunluunu strlen fonksiyonu kullanmadan bulan yazdran program
Programn devamn salama

*********************************************
Soru1: 1den 100e kadar olan saylarn toplamn
ekrana yazdran program yaznz.
*********************************************

*********************************************
Soru 4: 2 sayy enter ile girdirme ve gstermeyi ekrana
yazdran program yaznz.
*********************************************

#include<stdio.h>
main() {
int i,toplam;
toplam=0;
for (i=1;i<=100;i++)
{
toplam=toplam+i;
}
printf("toplam:%d\n",toplam);
}

#include <stdio.h>
#include <conio.h> //CLEAR SCREEN VE GETCH()
main() {
int x,y; // tm degiskenler ilk basta tanimlanmasi lazm
printf("Lutfen 2 adet sayi giriniz...:");
scanf("%d%d",&x,&y);
printf("Girdiginiz ilk sayi....:%d\n",x);
printf("Devam iin enter bas\n");
getch(); // Burada entere yada herhangi bir tua
basmamiz gerekir
clrscr(); // Ekran temizleme iine yarar
printf("Girdiginiz ikinci sayi....:%d",y);
}

*********************************************
Soru 2: 1-100 kadar tek saylarn toplamn ekrana
yazdran program yaznz.
*********************************************
#include<stdio.h>
main()
{
int s,t;
t=0;
s=1;
while(s<=100)
{
t=t+s;
s=s+2;
}
printf("%d\n",t);
}
*********************************************
Soru3: 1-100 arasndaki saylarn tek ve ift olanlarnn
ayr ayr toplamlar ekrana yazdran program yaznz.
*********************************************
#include<stdio.h>
main() {
int ttek,tcift,sayac;
ttek=0;tcift=0;
for(sayac=1;sayac<100;sayac=sayac+2)
{
ttek=ttek+sayac;tcift=tcift+(sayac+1);
}
printf("tek sayi toplam:%d\n",ttek);
printf("cift sayi toplam:%d\n",tcift);
}

*********************************************
Soru 5: Klavyeden girilen 2 sayinin toplamini, SONUCU
GRMEK iin ENTERA BASIN, ifadesi iktiktan ve ekrani
temizledikten sonra sonucu ekrana yazdran program
yaznz.
*********************************************
#include <stdio.h>
#include <conio.h>
main()
{
int x,y; // tm degiskenler ilk basta tanimlanmasi lazm
printf("Lutfen 2 adet sayi giriniz...:");
scanf("%d%d",&x,&y);
printf("Girdiginiz ilk sayi....:%d\n",x);
printf("Devam iin enter bas\n");
getch(); // Burada entere yada herhangi bir tua
basmamiz gerekir
clrscr(); // Ekran temizleme iine yarar
printf("Girdiginiz ikinci sayi....:%d\n",y);
printf("PRESS ENTER TO SEE THE ANSWER\n");
getch();
clrscr();
printf("%d+%d = %d",x,y,x+y); }

-5*********************************************
Soru 6: Basit blme ilemi yapan program yaznz.
*********************************************
#include<stdio.h>
main(){
float a,b,c;
a=25;
b=4;
c=a/b;
printf("a=%5.2f\n",a);
printf("b=%5.2f\n",b);
printf("fark=%5.2f\n",c); }
*********************************************
Soru 7: Basit say arttrma ve yazma ilemini ekrana
yazdran program yaznz.
*********************************************
#include<stdio.h>
main() {
int x,y;
x=5;
y=5;
printf("++x degeri=%d\n",++x);
printf("y++ degeri=%d\n",y++);
printf("\n");
printf("arttirmadan sonra x=%d\n",x);
printf("arttirmadan sonra y=%d\n",y); }
*********************************************
Soru 8: arpm tablosunda 6 nn katlarn gsteren
program ekrana yazdran program yaznz.
*********************************************
#include<stdio.h>
main(){
int i; i=0;
while(i<10) { i+=1;
printf("6*%d=%d\n",i,6*i); } }
*********************************************
Soru 9: Girilen 3 saydan byk olan bulan program
ekrana yazdran program yaznz.
*********************************************
#include<stdio.h>
main()
{
int a,b,c,buyuk;
printf("a sayisini gir");scanf("%d\n",&a);
printf("b sayisini gir");scanf("%d\n",&b);
printf("c sayisini gir");scanf("%d\n",&c);

buyuk=a;
if(buyuk<b) buyuk=b;
if(buyuk<c) buyuk=c;
printf("buyuk sayi%d\n",buyuk); }
*********************************************
Soru 10: Faktoriyel hesaplayan program ekrana
yazdran program yaznz.
*********************************************
#include<stdio.h>
main()
{
int t,s,s1;
int xxx;
t=1;
printf(Lutfen Bir Say Giriniz----:);
scanf("%d",&s);
devam: t=t*s;
s=s-1;
if (s>1)
goto devam;
printf("Factoriyel----:%d\n",t);
}
*********************************************
Soru 11: Girilen bir tamsaynn tek mi ift mi olduunu
ekrana yazdran program yaznz.
*********************************************
#include<stdio.h>
main()
{
int a,b;
printf("Bir tamsayi giriniz:");scanf("%d",&a);
b=a-(a%2);
if(a==b)
printf("sayi cift");
else
printf("sayi tek");}

-6*********************************************
Soru 12: 1-10 kadar saylar toplamn GOTO kullanarak
ekrana yazdran program yaznz.
*********************************************

if (s<=a)
goto s1;
printf("Aralktaki saylarn toplam----:%d\n",t);
}

#include <stdio.h>
#include<conio.h>
main()
{
int i,sum ;
i=sum=0;
loop :
i=i+1;
sum+=i;
if(i<10) goto loop;
printf("toplam:%d\n",sum); }

*********************************************
Soru 15: 3 Sayy kkten bye sralayan program
yaznz.
*********************************************

*********************************************
Soru 13: Girilen sayya gre dallanan program ekrana
yazdran program yaznz.
*********************************************
#include<conio.h>
#include<stdio.h>
main() {
int a;
printf("bir sayi gir(1/2/3):");
scanf ("%d",&a);
switch(a) {
case 1:printf("bir sayisini girdiniz....\n");
break;
case 2:printf("iki sayisini girdiniz....\n");
break;
case 3:printf(" sayisini girdiniz....\n");
break;
default:printf("1/2/3 disinda bir sayi girdiniz...\n");
break; } }
*********************************************
Soru 14: Her hangi iki say arasndaki saylarn
toplamn ekrana yazdran program yaznz.
*********************************************
#include<stdio.h>
main() {
int t,s,s1,a;
int xxx;
scanf("%d",&s);
scanf("%d",&a);
t=0;
s1: t=t+s;
s=s+1;

#include<stdio.h>
#include<conio.h>
char a,b,c,ara;
main()
{
clrscr();
printf("c sayi gir...\n");
scanf("%d %d %d",&a,&b,&c);
if(a>b)
{
ara=a;
a=b;
b=ara;
}
if(a>c)
{
ara=b;
b=c;
c=ara;
}
printf("sayilarn kucukten buyuke dogru sralans\n");
printf("%d %d %d",a,b,c);
getch();
}
*********************************************
Soru 16: Saynn 10 dan kk veya byk olduunu
bulan program yaznz.
*********************************************
#include <stdio.h>
main()
{
int a;
printf("Bir sayi giriniz:");
scanf("%d",&a);
if(a>0 && a<10) printf ("1 ile 10 arasnda bir sayi ....\n");
if(a>10 && a<100) printf ("11 ile 100 arasnda bir sayi
....\n");
if(a>100) printf ("100 den byk sayi ....\n");
}

-7********************************************
Soru 17: Klavyeden girilen 3 sayy bykten ke
sralayan program yaznz(uzun zm).
*********************************************
#include<stdio.h>
main()
{
printf("3 ADET TAM SAYI GIRINIZ\n");
int a,b,c;
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);
printf("SAYILARIN BUYUKTEN KUCUGE DIZILMIS
HALI\n");
if(a>b&&a>c&&b>c) {
printf("%d\n",a);
printf("%d\n",b);
printf("%d\n",c); }
if(a>b&&a>c&&c>b) {
printf("%d\n",a);
printf("%d\n",c);
printf("%d\n",b); }
if(b>a&&a>c&&b>c) {
printf("%d\n",b);
printf("%d\n",a);
printf("%d\n",c); }
if(b>a&&c>a&&b>c) {
printf("%d\n",b);
printf("%d\n",c);
printf("%d\n",a); }
if(a>b&&c>b&&c>a) {
printf("%d\n\n",c);
printf("%d\n",a);
printf("%d\n",b); }
if(b>a&&c>a&&c>b) {
printf("%d\n",c);
printf("%d\n",b);
printf("%d\n",a);}
}
*********************************************
Soru 18: Tek basamakl 5 Adet Random sayy ekrana
yazdran program yaznz.
*********************************************
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
main()
{
int i;
randomize();

for (i=0;i<5;i++)
printf("%d ",random(10));
}
*********************************************
Soru 19: Reel saylar ekrana formatl yazdran
program yaznz.
*********************************************
#include<stdio.h>
main()
{
float x,y,z;
x=3.45;
y=67.892;
z=876.439;
printf("x=%8.3f\n",x);
printf("y=%8.3f\n",y);
printf("z=%8.3f\n",z);
}
*********************************************
Soru 20: genin evresini bulan program yaznz.
*********************************************
#include<stdio.h>
main()
{
int cevre,k1,k2,k3;
printf("genin 1.kenarini gir=");scanf("%d",&k1);
printf("genin 2.kenarini gir=");scanf("%d",&k2);
printf("genin 3.kenarini gir=");scanf("%d",&k3);
cevre=k1+k2+k3;
printf("genin evresi=%d",cevre);
}
*********************************************
Soru 21: genin alann hesaplayan program yaznz.
*********************************************
#include <stdio.h>
#include <conio.h>
#include <math.h>
float a,b,c,A,s;
main(){
printf("Lutfen genin kenarlarn giriniz\n");
scanf("%f%f%f",&a,&b,&c);
s=(a+b+c)/2;
A=sqrt(s*(s-a)*(s-b)*(s-c));
printf("Alan %f ",A);
getch();
}

-8*********************************************
Soru 22: gen eitlerini veren program yaznz.
*********************************************
#include<stdio.h>
main()
{
int a,b,c;
printf(" Ucgenin kenar uzunlugunu yazin, a=");
scanf("%d",&a);
printf(" Ucgenin kenar uzunlugunu yazin, b=");
scanf("%d",&b);
printf(" Ucgenin kenar uzunlugunu yazin, c=");
scanf("%d",&c);
if (a==b&&b==c&&c==a) {
printf("Bu bir ES KENAR UCGEN dir!!!");
scanf("%d",&xxx);
}
if (a!=b&&a!=c&&b==c) {
printf("Bu bir IKIZ KENAR UCGEN dir!!!");
scanf("%d",&xxx);
}
if (c!=b&&a!=c&&b==a) {
printf("Bu bir IKIZ KENAR UCGEN dir!!!");
scanf("%d",&xxx);
}
if (c!=b&&a!=c&&b!=a) {
printf("Bu bir CESIT KENAR UCGEN dir!!!");
}
}
*********************************************
Soru 23: 10 elemanl bir dizinin deerleri dardan
giriliyor. Bu dizi ierisinde ka tane pozitif ka tane
negatif say olduunu ekrana yazan program yaznz.
*********************************************
#include <stdio.h>
#include <conio.h>
int i,neg,poz;
float a[100];
main() {
for(i=0;i<10;i++)
{
printf("%d. sayiyi gir:",i+1);
scanf("%f",&a[i]);
if (a[i]<0) neg++;
if (a[i]>0) poz++;
}
printf("bu dizide %d pozitif , %d negatif sayi
var",poz,neg);
getch() };

*********************************************
Soru 24: 10 elemanl bir dizinin deerleri dardan
giriliyor. Girilen saylarn ortalamas alnarak; bu dizi
ierisinde ortalamadan daha kk ka tane say
olduunu ve bunlaru ekrana yazan program.
*********************************************
#include <stdio.h>
#include <conio.h>
float a[10],ort,topla;
int say,i;
main(){
topla=0;
for(i=0;i<10;i++)
{
printf("%d. sayiyi gir...:",i+1);
scanf("%f",&a[i]);
topla+=a[i];
}
ort=topla/10;
printf("Ortalama...:%f\n",ort);
printf("Ortalamadan Kucuk Saylar\n");
for(i=0;i<10;i++)
if(a[i]<ort)
{
say++;
printf("%3.0f\n",a[i]);}
printf("Ortalamadan kucuk %d sayi var",say);
getch();
}
*********************************************
Soru 25: 10 elemanl bir tamsay dizisinin deerleri
dardan giriliyor. Bu dizi ierisinde ka tane ift ka
tane tek say olduunu ekrana yazan program.
*********************************************
#include <stdio.h>
#include <conio.h>
int a[10],i,tek,cift;
main() {
for(i=0;i<10;i++)
{
printf("%d. sayiyi gir",i+1);
scanf("%d",&a[i]);
if(a[i]%2==0) cift++;
else tek++;
}
printf("bu dizide %d tek %d cift sayi
var",tek,cift)};

-9*********************************************
Soru 26: 3 Basamakl Saynn Basamak Degerlerini
Bulup Ekrana Yazdran program yaznz.
*********************************************
#include<stdio.h>
int a,yuzler,b,onlar,birler;
main()
{
printf("3 Basamakl sayi giriniz:");scanf("%d",&a);
yuzler=a-(a%100);
b=a-yuzler;
onlar=b-(b%10);
birler=b-onlar;
printf("%d\n",yuzler/100);
printf("%d\n",onlar/10);
printf("%d\n",birler);
}
*********************************************
Soru 27: Blme ilemi sonucunda kalann veren
program.
*********************************************
#include<stdio.h>
main()
{
int x,y,z;
x=15;
y=4;
z=x%y;
printf("z=%d\n",z);
}
*********************************************
Soru 28: Girilen harfe gre ynlendirilen program.
*********************************************
#include<Conio.h>
#include<stdio.h>
main()
{
char a;
printf("bir harf tusuna basiniz(a/b/c):");
a=getchar();
switch(a)
{
case 'a':printf("AHMET....\n");
break;
case 'b':printf("BURAK....\n");
break;
case 'c':printf("CAN....\n");

break;
default:printf("a/b/c disinda bir harf girdiniz...\n");
break;
}
}
*********************************************
Soru 29: Klavyeden 3 ile 15 arasnda (bu saylar da
dhil) bir tamsay girilmesi isteniyor. Girilen bu
tamsay asal say ise; bu asal saynn faktriyelini alp
sonucu ekrana yazan program
*********************************************
#include <stdio.h>
#include <conio.h>
int i,sayi;
float faktoriyel=1;
char asal;
main () {
tekrar:
printf("Bir sayi giriniz:");
scanf("%d",&sayi);
if (sayi<3 || sayi>15) goto tekrar;
for (i=2;i<sayi;i++)
if(sayi%i==0) asal='h';
if (asal!='h')
{
for(i=1;i<=sayi;i++)
faktoriyel=faktoriyel*i;
printf("bu asal sayinin faktoriyeli %f ",faktoriyel);
}
else
printf("bu sayi asal sayi degil");
getch();
}
*********************************************
Soru 30: Klavyeden 100 den byk bir tamsay
girilmesi isteniyor. Girilen bu tamsay asal say ise bu
tamsaydan nceki ilk asal sayy ekrana yazan
program
*********************************************
#include <stdio.h>
#include <conio.h>
int i,sayi,onceki;
char asal;
main () {
tekrar:
printf("Bir sayi giriniz");
scanf("%d",&sayi);
if (sayi<100) goto tekrar;

- 10 for (i=2;i<sayi;i++)
if(sayi%i==0) asal='h'; onceki=sayi;
if (asal!='h')
{
printf("bu bir asal sayi ve bundan onceki ilk asal
sayi:");
do{
asal='e';
onceki--;
for(i=2;i<onceki;i++)
if(onceki%i==0) asal='h';
if (asal!='h') printf("%d ",onceki);
}while(asal=='h'); }
else printf("bu sayi asal degil");
getch();
}
*********************************************
Soru 31: Men ile arpma toplama karma yapan
program.
*********************************************
#include <stdio.h>
#include<conio.h>
main() {
int a,b,c,i;
printf("birinci sayiyi gir=");scanf("%d",&a);
printf("ikinci sayiyi gir=");scanf("%d",&b);
printf("\n\n");
printf("
MEN
\n");
printf("
=============\n");
printf("
1-TOPLAMA
\n");
printf("
2-CIKARMA
\n");
printf("
3-CARPMA
\n");
printf("\n");
printf("tercihinizi giriniz(1/2/3)..:");
scanf("%d",&i);
printf("\n");
if(i==1) {
c=a+b;
printf("toplam:%d\n",c); }
if(i==2) {
c=a-b;
printf("fark:%d\n",c); }
if(i==3) {
c=a*b;
printf("arpim:%d\n",c);
}}

*********************************************
Soru 32: Dairenin alan hesaplayan program.
*********************************************
#include<stdio.h>
main()
{
int s,t,a;
int xxx;
t=3;
s=5;
a=s*s*t;
printf("%d\n",a);
scanf("%d",&xxx)};
*********************************************
Soru 33: Aritmetik ilemler.
*********************************************
#include <stdio.h>
main()
{
int a,b,c;
a=4;b=5;
printf("a=%d\n",a);
printf("b=%d\n",b);
printf("c=a+++b islemi sonucunda ...c=%d\n",a+++b);
printf("a=%d\n",a);
printf("b=%d\n",b);
printf("**************\n");
a=4;b=5;
printf("a=%d\n",a);
printf("b=%d\n",b);
printf("c=++a-b islemi sonucunda ...c=%d\n",++a-b);
printf("a=%d\n",a);
printf("b=%d\n",b);
printf("**************\n");
a=4;b=5;
printf("a=%d\n",a);
printf("b=%d\n",b);
printf("c=--a+b-- islemi sonucunda ...c=%d\n",--a+b--);
printf("a=%d\n",a);
printf("b=%d\n",b);
printf("**************\n");
a=4;b=5;
printf("a=%d\n",a);
printf("b=%d\n",b);
printf("c=--a-(--b) islemi sonucunda ...c=%d\n",--a-(--b));
printf("a=%d\n",a);
printf("b=%d\n",b);
printf("**************\n");
}

- 11 *********************************************
Soru 34: Aritmetik ilemler.
*********************************************
# include <stdio.h>
main()
{
int A;
A=10;
printf("A=10 VE A+=10 ... ifadesinin
degeri..%d\n\n",A+=10);
A=10;
printf("A=10 VE A-=10 ... ifadesinin degeri..%d\n\n",A=10);
A=10;
printf("Ifadenin degeri...%d\n\n",A%=10); /* % isareti
sorun cikardi */
A=10;
printf("Ifadenin degeri...%d\n\n",A%=3); /* % isareti
sorun cikardi */
A=10;
printf("A=10 VE A>>=1 ... ifadesinin
degeri..%d\n\n",A>>=1); /* /2 */
A=10;
printf("A=10 VE A<<=1 ... ifadesinin
degeri..%d\n\n",A<<=1); /* *2 */
A=50;
printf("A=50 VE A&=10 ... ifadesinin
degeri..%d\n\n",A&=10); /* || */
}
*********************************************
Soru 35: 2 lik sisteme dntrme
*********************************************
# include <stdio.h>
main()
{
int sayi,kalan,bolum,anasayi,i;
int bsayi[9];
printf("Lutfen 2 lik sisteme cevreceginiz sayiyi girin....");
scanf("%d",&sayi);
for(i=1;i<=8;i++)
bsayi[i]=0;
i=1;
do
{
bolum=sayi/2;
kalan=sayi-(bolum*2);
bsayi[i]=kalan;

i++;
sayi=bolum;
if (sayi==1)
break;
} while(bolum !=1);
bsayi[i]=1;
for(i=1;i<=8;i++)
printf("%d",bsayi[9-i]);
}
*********************************************
Soru 36: Koordinat sisteminde girilen 2 nokta
arasndaki uzakl bulan program yaznz.
*********************************************
# include <stdio.h>
# include <math.h> /* sqrt() fonksiyonu iin */
# include <conio.h> /* clrscr() fonskiyonu iin */
main()
{
float x1,x2,y1,y2,uzak,d1,d2;
printf("Koordinatlar giriniz \n");
scanf("%f%f%f%f",&x1,&y1,&x2,&y2);
d1=sqrt(x1*x1+y1*y1); /* Uzakliklar hesaplaniyor */
d2=sqrt(x2*x2+y2*y2); /* Uzakliklar hesaplaniyor */
uzak= sqrt((x2-x1)* (x2-x1)+(y2-y1)* (y2-y1));
clrscr();
printf("Girilen Koordinatlar\n");
printf("--------------------\n");
printf("1.noktanin koordinatlari:%8.2f%8.2f\n",x1,y1);
/*8 Toplam uzunluk */
printf("2.noktanin koordinatlari:%8.2f%8.2f\n",x2,y2);
/*2 Noktadan Sonraki uzunluk */
/* Uzakliklar yazdiriliyor */
printf("1.noktanin uzakligi:%5.3f\n",d1);
printf("2.noktanin uzakligi:%5.3f\n",d2);
printf("iki nokta arasindaki uzaklik:%5.3f\n",uzak);
}
*********************************************
Soru 37: Girilen say pozitif ise 2 say daha girmesi
isteniyor, say negatifse 3 say daha girmesi isteniyor,
say sfr girilmise 1 say daha girilmesi isteniyor.
Uygun arta gre girilen saylarn ortalamasn alan
program.
*********************************************
#include <stdio.h>
#include <conio.h>
float sayi,s1,s2,s3,ort;

- 12 main()
{
printf("bir sayi giriniz.:");
scanf("%f",&sayi);
if(sayi>=0)
{printf("iki sayi daha girin..:");
scanf("%f %f",&s1,&s2);
ort=(sayi+s1+s2)/3};
else if(sayi<=0)
{printf("uc sayi daha girin.:");
scanf("%f % f%f",&s1,&s2,&s3);
ort=(sayi+s1+s2+s3)/4;
}
else
{
printf("bir sayi daha girin");scanf("%f",&s1);
ort=(sayi+s1)/2;
}
printf("ortalama %f",ort)};
*********************************************
Soru 38: Klavyeden 100 den byk iki tamsay girilmesi
isteniyor. Girilen bu tamsaylarn her ikisi de asal say
ise bu iki tamsayy toplayan, deilse arpan ve sonucu
ekrana yazan program.
*********************************************
#include <stdio.h>
#include <conio.h>
int a,b,i;
float topla,carp;
char asal1,asal2;
main() {
tekrarA:
printf("ilk sayiyi gir");
scanf("%d",&a);
if(a<=100) goto tekrarA;
tekrarB:
printf("ikinci sayiyi gir");
scanf("%d",&b);
if(b<=100) goto tekrarB;
for(i=2;i<a;i++)
if(a%i==0) asal1='h';
for(i=2;i<b;i++)
if(b%i==0) asal2='h';
if(asal1!='h' && asal2!='h')
{
topla=a+b;
printf("iki sayi asal toplami %f",topla);
}
else
{
carp=a*b;
printf("iki sayi asal degil carpimi=%f",carp); }
}
*********************************************

*********************************************
Soru 39: Maximum 5 Basamakli Sayi erisinde
Rakamlari Bulan program yaznz.
*********************************************
# include <stdio.h>
# include <conio.h>
# include <math.h>
main()
{
long say,tmp;
long A[10],i,j;
long B[6];
long onb,bin,yu,on,bi;
for (i=0;i<=9;i++)
A[i]=0;
say=100000;
while (say >99999)
{
clrscr();
printf("Lutfen Maximum 5 Basamakli Bir Sayi Giriniz-->");
scanf("%ld",&say);
}
onb=fabs(say/10000);
tmp=onb*10000;
bin=fabs((say-tmp)/1000);
tmp=onb*10000+bin*1000;
yu=fabs((say-tmp)/100);
tmp=onb*10000+bin*1000+yu*100;
on=fabs((say-tmp)/10);
tmp=onb*10000+bin*1000+yu*100+on*10;
bi=say-(onb*10000+bin*1000+yu*100+on*10);
B[1]=onb;B[2]=bin;B[3]=yu;B[4]=on;B[5]=bi;
i=1;
while ((B[i]==0)&&( i<=5) )
i=i+1;
for (j=i;j<=5;j++)
A[B[j]]++;
printf("\n\nRakam
printf("=====

Adet\n");
====\n");

for(i=0;i<=9;i++)
if (!(A[i]==0))
printf("%ld ------------> %ld \n",i,A[i]);
}

- 13 *********************************************
Soru 40: Klavyeden Girilen Maximum 4 Basamakli Bir
Tamsayinin Ka Basamakli Oldugunu Bulan Pogram
yaznz.
*********************************************
# include <stdio.h>
# include <conio.h>
# include <math.h>
main()
{
long say,test;
devam:
printf("Lutfen Maxiumum 4 Basamakli Bir Tamsayi
Giriniz..:");
scanf("%ld",&say);
if (say > 9999)
{
clrscr();
goto devam;
}
if (!(fabs(say/1000)==0))
printf("Sayimiz 4 Basamaklidir");
else if (!(fabs(say/100)==0))
printf("Sayimiz 3 Basamaklidir");
else if (!(fabs(say/10)==0))
printf("Sayimiz 2 Basamaklidir");
else
printf("Sayimiz 1 Basamaklidir");
}
*********************************************
Soru 41: 1-9 Aras arpm Tablosunu Yapan Pogram
yaznz.
*********************************************
# include <stdio.h>
# include <conio.h>
main()
{
int i,j;
for(i=1;i<=9;i++)
for(j=1;j<=9;j++)
{
gotoxy((i-1)*9 ,j);
printf("%d*%d=%d",i,j,i*j);
}
}

*********************************************
Soru 42: Kullancdan 10 tane say girmesi isteniyor bu
saylar ierisinde ka tane pozitif, ka tane negatif ka
tane sfr girildiini bulup ekrana yazacak program.
*********************************************
#include <stdio.h>
#include <conio.h>
int sayi,pozitifsay,negatifsay,sifirsay,i;
main(){
for(i=1;i<=10;i++)
{ printf("%d. sayiyi gir..:",i);
scanf("%d",&sayi);
if(sayi<0) negatifsay++;
else if(sayi>0) pozitifsay++;
else sifirsay++;
}
printf("%d poz, %d neg , %d sifir
girildi",pozitifsay,negatifsay,sifirsay)};

*********************************************
Soru 43: Kullancdan bir say girmesi isteniyor. Bu
saynn pozitif, negatif ya da sfr durumuna gre
ekrana yazan program.
*********************************************
#include <stdio.h>
#include <conio.h>
float sayi;
main(){
printf("Sayi Girin:");
scanf("%f",&sayi);
if(sayi<0) printf("sayi negatif");
else if (sayi>0) printf("sayi pozitif");
else printf("sayi sifir")};
*********************************************
Soru 44: Test sorusu cevapn bulma
*********************************************
#include <stdio.h>
#include <conio.h>
char cev;
main( )
{
clrscr( );
printf( "Trkiyenin baskenti neresidir? ");
printf( "\n a) Istanbul b) Ankara c) Ktahya d) Antalya ");
printf( "\n\n Cevabiniz: ");
scanf(%c,&cev);
if ( cev== 'b' || cev=='B' )
printf( "\n\n Doru cevap ");
else printf( "\n\n Yanls cevap ")};

- 14 *********************************************
Soru 45: 0 (sfr) faktriyel 1 e eittir,pozitif saylarn
faktriyeli 1 ile say arasndaki (say dahil) tam
saylarn arpm ile bulunuri.Programdan tam say
girmesi isteniyor.Girilen say durumuna gre (negatif,
sfr,yada pozitif) faktriyel bulan program.
*********************************************
#include <stdio.h>
#include <conio.h>
int i,s;
float fakt=1;
main(){
printf("Bir sayi giriniz.");
scanf("%d",&s);
if(s<0) printf("faktoriyel alinamaz");
else if(s==0) printf("faktoriyel 1");
else {
for(i=1;i<=s;i++)
fakt=fakt*i;
printf("faktoriyel %.f",fakt);
}
getch();
}
*********************************************
Soru 46: Klavyeden Girilen Bir Tamsaynn Ka
Basamakl Oldugunu Bulan Pogram yaznz.
*********************************************
#include <stdio.h>
main()
{
float a,b,sonuc;
int t,c;
b = 1;
c = 0;
printf("Pozitif bir tamsayi girin....:");
scanf("%f",&a);
do
{
sonuc=a/b;
b=b*10;
t=c++;
}
while(sonuc>=1.0) ;
printf("Tam sayi %d basamakli.\n",t);
}

*********************************************
Soru 47: Kullancdan alnan 10 adet pozitif say
ierisinden bir iki ve basamakl saylarn ka adet
olduunu bulan program yaznz.
*********************************************
#include<stdio.h>
#include<conio.h>
int b,i,u,sayac,A;
int main()
{
for(sayac=1;sayac<=10;sayac++)
{
printf("Say:");
scanf("%d",&A);
if(A>0 && A<10)
{
b++;
}
else if (A<100)
{
i++;
}
else if(A<1000)
{
u++;
}
}
printf("\n Tek basamakli %d",b);
printf("\n Iki basamakli %d",i);
printf("\n basamakli %d",u);
getch(); }
*********************************************
Soru 48: Kullanc tarafndan girilen iki say arasndaki 3
ile blnen saylarn adedini bulup ekrana yazdran
program yaznz.
*********************************************
#include <stdio.h>
#include <conio.h>
int i,adet=0,A,B,C;
int main() {
printf("A:");
scanf("%d",&A);
printf("B:");
scanf("%d",&B);
if(A>B) {
C=A;
A=B;
B=C;

- 15 }
i=A;
while(i<=B)
{
if(i%3==0)
adet=adet+1;
i=i+1;
}
printf("%d adet 3'e blnen sayi vardir",adet)};
*********************************************
Soru 49: 1 ile 100 arasnda bulunan 7 ile blnebilen
saylarn adedini bulan program yaznz.
*********************************************
#include<stdio.h>
#include<conio.h>
int i=1,adet=0;
int main()
{
while(i<=100)
{
if(i%7==0)
{
adet=adet+1;
}
i=i+1;
}
printf("%d adet 7 ile blnen say vardr",adet)};
*********************************************
Soru 50: Dardan girilen 20 say arasndan en byk
sayy ekrana yazdran program yaznz.
*********************************************
#include<stdio.h>
#include<conio.h>
int A,end=0,i=1;
int main()
{
while(i<=20)
{
printf("Bir Say Giriniz.:.");
scanf("%d",&A);
if(end<A)
{
end=A;
}
i=i+1;
}
printf("En byk deer %d dir" ,end)};

*********************************************
Soru 51: Girilen say pozitif (+) ise 2 say daha girmesi
isteniyor, say negatif(-) ise 3 say daha girmesi
isteniyor, say 0 girilmise 1 say daha girilmesi
isteniyor. Uygun arta gre girilen saylarn
ortalamasn yazdran program yaznz.
*********************************************
#include <stdio.h>
#include <conio.h>
float sayi,s1,s2,s3,ort;
main(){
printf("bir sayi giriniz");scanf("%f",&sayi);
if(sayi>=0)
{
printf("iki sayi daha girin");
scanf("%f%f",&s1,&s2);
ort=(sayi+s1+s2)/3;
}
else if(sayi<=0)
{
printf("uc sayi daha girin");
scanf("%f%f%f",&s1,&s2,&s3);
ort=(sayi+s1+s2+s3)/4;
}
else
{
printf("bir sayi daha girin");
scanf("%f",&s1);
ort=(sayi+s1)/2;
}
printf("ortalama %f",ort);}
*******************************************
Soru 52: 7-30 Saylarnn karlarna asal durumuna
gre EVET yada HAYIR yazdran program
yaznz(fonksiyon kullanlmtr).
*********************************************
# include <stdio.h>
char asal(int);
void main(void)
{
int i;
for(i=7;i<=30;i++)
{
if ( asal(i) == 'E')
printf("%d----->EVET\n",i);
else
printf("%d----->HAYIR\n",i);

- 16 }
}
char asal(int j)
{
int k,test;
test=0;
for(k=2;k<j;k++)
{
if ((j % k)== 0)
test++;
}
if ( test == 0)
return ('E');
else
return ('H');
}

y=1;
gotoxy(1,y); printf("SAYI");
gotoxy(20,y);
printf("BLENLER");
gotoxy(50,y); printf("BLEN
SAYISI");
gotoxy(70,y); printf("ASAL?");
y++;
gotoxy(1,y);printf("====");
gotoxy(20,y);
printf("========");
gotoxy(50,y);
printf("============");
gotoxy(70,y); printf("=====");
bul(i);
goto devam;
}

*********************************************
Soru 53: 3-100 arasndaki saylarn blenlerini, blen
saysn, asal durumuna gre (E/H) yazdran program
yaznz(fonksiyon kullanlmtr).
*********************************************
# include <stdio.h>
# include <conio.h>
int y;
void bul(int);
main()
{
int i;
y=1;
gotoxy(1,y); printf("SAYI");
gotoxy(20,y); printf("BLENLER");
gotoxy(50,y); printf("BLEN SAYISI");
gotoxy(70,y); printf("ASAL?");
y++;
gotoxy(1,y);printf("====");
gotoxy(20,y); printf("========");
gotoxy(50,y); printf("============");
gotoxy(70,y); printf("=====");

bul(i);
devam:
}
}
void bul(int i)
{
int count,j;
count=0;
y++;
gotoxy(1,y);
printf("%d",i);
gotoxy(20,y);
for (j=2;j<=(i-1);j++)
{
if ((i%j)==0 )
{
count++;
printf("%d ",j);
}

for(i=3;i<=100;i++)
{
if ((i%21)==0)
{
gotoxy(38,25);
printf("DEVAM N ENTERA BASIN");
getch();
clrscr();

gotoxy(50,y);
if (count != 0)
printf("%d",count);
else
printf("-");

- 17 *********************************************
Soru 56: Pascal genini yazan program yaznz.
*********************************************

gotoxy(70,y);
if (count==0)
printf("E");
else
printf("H");
}
*********************************************
Soru 54: Klavyeden girilen sayya kadar olan asal
saylarn adedini ve toplamn bulan program yaznz.
*********************************************
# include <stdio.h>
main()
{
int sayi,test,sayac;
int i,j,kalan;
int top,adet;
top=0;
adet=0;
printf("Ltfen Klavyeden bir say giriniz.....:");
scanf("%d",&sayi);
printf("%d saysna kadar olan asal saylar, adedi ve
toplam aada verilmitir\n",sayi);
printf("--------------------------------------------------------\n");
for (i=2;i<=sayi;i++)
{
test=1;
for (j=2;j<=i-1;j++)
{
kalan=i%j;
if (kalan==0)
test=0;
}
if (test)
{
top=top+i;
adet++;
printf("%d\n",i);
}
}
printf("\n%d adet asal saynn toplam = %d",adet,top);
}

#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
main()
{
int a[10][10];
int i,j;
clrscr();
for (i=1;i<=10;i++)
for (j=1;j<=i;j++)
{if ((i==j)||(j==1)) {a[i][j]=1;}
else {a[i][j]=a[i-1][j-1]+a[i-1][j];}}
for (i=1;i<=10;i++)
for (j=1;j<=i;j++)
{gotoxy(j*3,i);printf("%d",a[i][j]);}
getch();
}
*********************************************
Soru 57: renci Not Sistemi:
*40 kiilik snfn vize, final notu alnacak
*Vize final notundan her rencinin ortalamas
hesaplanacak (vize*0.4+final*0.60)
*Snfn ortalamas hesaplanacak
(snfort=toplamort/40)
*Her rencinin snf ortalamasnn altnda m yoksa
zerinde mi olduu hesaplanacak.
*********************************************
#include<stdio.h>
#include<conio.h>
int vize[40],final[40],i;
float ort[40],toplamort=0,sinifort;
int main()
{
for(i=0;i<=40;i++)
{
printf("%d. ogrenci vize..:",(i+1));
scanf("%d" , &vize[i]);
printf("%d. ogrenci final.:",(i+1));
scanf("%d",&final[i]);
printf("********************\n");

- 18 ort[i]=vize[i]*0.4+final[i]*0.6;
toplamort=toplamort+ort[i];
}
sinifort= toplamort/40;
for(i=0;i<40;i++)
{
if(ort[i]>sinifort)
{
printf("%d .ogrenci gecti /n",(i+1));
}
else {
printf("%d.grenci kald \n",(i+1));
}
}
getch();}
*********************************************
Soru 58: Fibenocci serisinin ilk 20 elemann ekrana
yazdran program yaznz.
*********************************************
#include <stdio.h>
#include <conio.h>
int a,b,c,i;
int main()
{
a=1;
b=1;
printf("%d\n%d\n",a,b);
for(i=3;i<=20;i++)
{
c=a+b;
a=b;
b=c;
printf("%d\n",c);
}
getch();
}
*********************************************
Soru 59: Fibonacci serisinin ilk 25 eleman ierisinden 5
e ve 7 e tam blnenlerin adedini ayr ayr yazan
program yaznz.
*********************************************
#include<stdio.h>
int i,b5,b7,a,b,c;
main()
{
a=1;
b=1;

for(i=3;i<=25;i++)
{
c=a+b;
if(c%5==0)
b5++;
if(c%7==0)
b7++;
a=b;
b=c;
}
printf("5 e tam blnenler %d\n", b5);
printf("7 e tam blnenler %d\n", b7);
}
*********************************************
Soru 60: Fibonecci dizisini bir N deerine kadar ekrana
yazan program yaznz.
*********************************************
#include <stdio.h>
int a,b,c,n;
main(){
printf("n deerini klavyeden giriniz");
scanf("%d",&n);
a=1;
b=1;
printf("%d\n%d\n",a,b);
c=a+b;
while(c<=n){
printf("%d\n",c);
a=b;
b=c;
c=a+b;
}
}
*********************************************
Soru 61: Klavyeden 10 say okutup tersten yazan
program yaznz
*********************************************
#include <stdio.h>
main()
{
int a[10];
int i;
for (i=0; i<=9; i++) {
printf("%d. sayy gir ",i);
scanf("%d", &a[i]);
}

- 19 printf("\n-----------------------\n");
for (i=9; i>=0; i--)
printf("%d . srada girilen say = %d\n", 9-i, a[i]);
}
*********************************************
Soru 62: Max 100 elemanl bir dizinin elemanlarn
ekrandan okuyacak, artan srada sraladktan sonra
tekrar ekrana yazdran program yaznz.
*********************************************
#include <stdio.h>
int temp, dsay, k, l, dizi[100];
main(){
printf("Girilecek eleman saysn Veriniz?\n");
scanf("%d",&dsay);
for(k=0;k<dsay;k++){
printf("%d. sayy giriniz",k);
scanf("%d",&dizi[k]);
}
for(k=0;k<dsay-1;k++)
for(l=k+1;l<dsay;l++)
if (dizi[k]<dizi[l]){
temp=dizi[k];
dizi[k]=dizi[l];
dizi[l]=temp;}
for(k=0;k<dsay;k++)
printf("%d",dizi[k]);
}
*********************************************
Soru 63: Klavyeden girilen saynn kpn ekrana
yazdran program yaznz (fonksiyon).
*********************************************
#include <stdio.h>
main()
{
int sayi;
int kub(int); /* ilevin prototipi */
printf("sayy gir ");
scanf("%d", &sayi);
printf("Kb = %d\n", kub(sayi));
}
int kub(int i)
{ return i*i*i; }

*********************************************
Soru 64: 10 Adet 1-100 aras random say reten
program Yaznz.
*********************************************
# include <time.h>
# include <stdio.h>
# include <stdlib.h>
main()
{
int i,sayi;
srand(time(0));/*Burasi Yazilmazsa Hep ayni sayilari
verir */
for(i=0;i<=10;i++)
{
sayi=rand()%100;
printf("\n %d. ci random sayi....:%d",i,sayi);
}
}
/* Bu programda sayilarin tekrar etme ihtimali */
/* var programi degistirerek bu saglanabilir */
*********************************************
Soru 65: Random gnn szleri program yaznz.
*********************************************
# include <stdio.h>
# include <stdlib.h>
# include <time.h>
main()
{
int i;
char *A[5];
printf(".................GNN SZ........................\n");
A*1+="Sakla saman gelir zaman";
A*2+="Sz gm ise skut altndr";
A*3+="Ak ake kara gn iindir";
A*4+="Damlaya damlaya g olur";
A*5+="zm zme baka baka kararr";
srand(time(0));
i=rand()%5+1;
printf("%s",A[i]);
}

- 20 *********************************************
Soru 66: Rastgele retilen 2 basamakl sayy bulmaya
alan program Yaznz.
*********************************************
# include <time.h>
# include <stdio.h>
# include <stdlib.h>
main()
{
int sayi,rastgele_sayi,sayac=0;
srand(time(0));
rastgele_sayi=rand()%100;
printf("2 Basamakl rastgele sayi...:%d\n",rastgele_sayi);
while( sayi != rastgele_sayi)
{
printf("Lutfen 2 haneli bir say giriniz...:");
scanf("%d",&sayi);
if(sayi > rastgele_sayi)
printf("Girdiiniz %d sayisi buyuk azaltn\n",sayi);
else if (sayi < rastgele_sayi)
printf("Girdiiniz %d sayisi kucuk artirin\n",sayi);
else
{
sayac++;
printf("Tebrikler %d denemede buldunuz",sayac);
}
sayac++;
}
}
*********************************************
Soru 67: Azalan ekilde saylar sa tarafa doru yazan
program yaznz.
*********************************************
# include <stdio.h>
# include <stdlib.h>
# include <time.h>
main()
{
int i,j;
for (i=1;i<=9;i++)
{
for (j=1;j<=i;j++)
printf("%d ",j);
printf("\n");
}

for (i=8;i>=1;i--)
{
for (j=1;j<=i;j++)
printf("%d ",j);
printf("\n");
}
}
*********************************************
Soru 68: Ekran yldzlarla dolduran program yaznz.
*********************************************
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
main()
{
int i,j,k,m,top;
int A[80][25];
srand(time(0));
for( i = 0; i <=79; i++)
for( j = 0; j<=24; j++)
A[i][j] = 0;
for (top=1;top<=2000;top++)
{
tekrar:
i=rand()%80;
j=rand()%25;
if (A[i][j] ==0 )
{
gotoxy(0,80);
printf("%d",top);
A[i][j] =1;
gotoxy(i,j);
printf("*");
m=0;
for (k=1;k<=200;k++)
{
m=m+2;
for (i=1;i<=1000;i++)
{
m=m+2;
m=m-2;
}
}
}
else
goto tekrar;
}
}

- 21 *********************************************
Soru 69: Satr ve stun tahmin eden program yaznz.
*********************************************
# include <stdio.h>
# include <conio.h>
# include <stdlib.h>
# include <time.h>
# include <windows.h>
main() {
int sat,sut,tsat,tsut;
int i,top;
int k,l,m,t;
top=1;
srand(time(0));
sat=rand()%18+2;
sut=rand()%77+2;
devam:
gotoxy(sut,sat);
printf("*");
for(i=1;i<=21;i++)
{
gotoxy(1,i); printf("*");
gotoxy(80,i); printf("*");
}
for(i=1;i<=80;i++)
{
gotoxy(i,1); printf("*");
gotoxy(i,21); printf("*");
}
gotoxy(10,23);
printf("Satir tahmini(2-20)..:");
gotoxy(50,23);
printf("Stun tahmini(2-80)..:");
gotoxy(33,23);
scanf("%d",&tsat);
gotoxy(73,23);
scanf("%d",&tsut);
gotoxy(tsut,tsat);
printf("*");
m=0;
for (k=1;k<=20000;k++) {
m=m+2;
for (i=1;i<=5000;i++)
{
m=m+2;
m=m-2;
}
}
gotoxy(33,23); printf("");
gotoxy(73,23); printf("");

if ((tsat==sat)&&(tsut==sut))
{
gotoxy(30,24);
printf("TEBRIKLER %d DENEMEDE BULDUNUZ !!!",top);
}
else {
top=top+1;
clrscr();
goto devam;
}
*********************************************
Soru 70: Lottery oyunu program yaznz
*********************************************
# include <stdio.h>
# include <conio.h>
# include <time.h>
# include <stdlib.h>
main() {
int i,j,m;
int x,y,z;
int odul;
odul=0;
srand(time(0));
devam:
gotoxy(55,13);
printf("DL TABLOSU");
gotoxy(55,14);
printf("------------");
gotoxy(55,15);
printf("777 -------> 1000");
gotoxy(55,16);
printf("666 -------> 500");
gotoxy(55,17);
printf("*** -------> 100");
gotoxy(55,18);
printf("**? -------> 5 ");
gotoxy(55,20);
printf("!! BONUS !!");
gotoxy(55,21);
printf("123 -------> 10000");
gotoxy(10,23);
printf("ANSINIZI DENEMEK N HERHANG BR TUA
BASIN !!");
while (!kbhit()) {
x=rand()%7+1;
y=rand()%7+1;
z=rand()%7+1;
gotoxy(40,10);
printf("%d",x);
gotoxy(42,10);

- 22 printf("%d",y);
gotoxy(44,10);
printf("%d",z);
for (i=1;i<=5000;i++) {
m=0;m=m+2;m=m=m-2;
for (j=1;j<=5000;j++)
{m=0;m=m+2;m=m=m-2; } }
if
((x==1) && (y==2) && (z==3)) odul= 10000;
else if ((x==7) && (y==7) && (z==7)) odul= 1000;
else if ((x==6) && (y==6) && (z==6)) odul= 500;
else if ((x==y) && (y==z))
odul= 100;
else if ((x==y) || (y==z) || (x==z)) odul= 5;
else
odul=0;
gotoxy(30,24);
if (odul==0)
printf("MAALESEF :-( ");
else
printf("DLNZ...: %d",odul);
gotoxy(10,23);
printf("
");
gotoxy(10,25);
printf("ANSINIZ TEKRAR DENEMEK N HERHANG BR
TUA BASIN ");
getch();
getch();
crscr();
goto devam; }
*********************************************
Soru 71: Parti anket programn yaznz.
*********************************************
# include <stdio.h>
# include <conio.h>
# include <math.h>
main() {
int AKP,MHP,CHP,Di,KA;
int lakp,lchp,lmhp,ldi,lka;
int i,secim,oy,top;
top=0;
AKP=MHP=CHP=Di=KA=0;
lakp=lmhp=lchp=ldi=0;
anamenu:
clrscr();
printf("***************************************
*******************\n");
printf("************* PARTI ANKET PROGRAMINA
HO GELDNZ *******\n");
printf("************* (1) OY VERMEK N
*******\n");
printf("************* (2) ANKET SONULARINI
GRMEK N *******\n");

printf("***************************************
*******************\n\n");
printf("SEMNZ.............................:");
scanf("%d",&secim);
if (secim==1)
goto oyver;
else if (secim==2)
goto sonuc;
else
goto anamenu;
oyver:
clrscr();
printf("***************************************
*******************\n");
printf("*************
OY VERME
*******\n");
printf("*************
(1) AKP
*******\n");
printf("*************
(2) CHP
*******\n");
printf("*************
(3) MHP
*******\n");
printf("*************
(4) DER
*******\n");
printf("***************************************
*******************\n");
printf("!!!!! DER SEENEKLER GEERSZ OY OLARAK
SAYILIR !!!!!\n\n");
printf("LUTFEN OYUNUZU
KULLANINZ.............................:");
scanf("%d",&oy);
if
(oy==1) AKP++;
else if (oy==2) CHP++;
else if (oy==3) MHP++;
else if (oy==4) Di++;
else
KA++;
goto anamenu;
sonuc:
clrscr();
top=AKP+CHP+MHP+Di+KA;
printf("***************************************
*******************\n");
printf("*************
ANKET
SONUCLARI
*******\n\n");
printf("AKP\tCHP\tMHP\tDER\tKARARSIZ\tTOPLAM\n
");
printf("%d\t%d\t%d\t%d\t%d\t\t%d\n",AKP,CHP,MHP,
Di,KA,top);
lakp=fabs((80/top)*AKP);
lchp=fabs((80/top)*CHP);
lmhp=fabs((80/top)*MHP);
ldi=fabs((80/top)*Di);

- 23 lka=fabs((80/top)*KA);
printf("\n\n\nOY DAILIMI\n\n");
printf("(AKP) ");
for(i=1;i<=lakp;i++)
printf("*");
printf("\n");
printf("(CHP) ");
for(i=1;i<=lchp;i++)
printf("*");
printf("\n");
printf("(MHP) ");
for(i=1;i<=lmhp;i++)
printf("*");
printf("\n");
printf("(DER) ");
for(i=1;i<=ldi;i++)
printf("*");
printf("\n");
printf("(KARARSIZ) ");
for(i=1;i<=lka;i++)
printf("*");
printf("\n\n");
printf("DEVAM N ENTERA BASIN ");
getch();
goto anamenu;
}
*********************************************
Soru 72: Piyango program yaznz.
*********************************************

# include <stdio.h>
# include <stdlib.h>
# include <time.h>
# include <conio.h>
main()
{
int i,nu,secim,binu;
int A[41];
srand(time(0));
cekilis:
//CEKILIS //
printf(".............................................................\n");
printf("...............EKL BALATMAK N ENTER'A
BASIN..........\n");
printf(".............................................................\n");
getch();
clrscr();

for (i=1;i<=40;i++)
A[i]=0;
// 300000 TL ikramiye icin //
for (i=1;i<=3;i++)
{
devam:
nu=rand()%42;
if (A[nu]==0)
A[nu]=3000;
else
goto devam;
}
for (i=1;i<=5;i++)
{
devam2:
nu=rand()%42;
if (A[nu]==0)
A[nu]=500;
else
goto devam2;
}
for (i=1;i<=8;i++)
{
devam3:
nu=rand()%42;
if (A[nu]==0)
A[nu]=5;
else
goto devam3;
}
// ANA LISTE //
secimtekrar:
clrscr();
printf("...............................................................\n");
printf(".....................EKL
YAPILMITIR.......................\n");
printf("...............................................................\n");
printf("...............(1)...BILET
SORGULAMA...........................\n");
printf("...............(2)...KRAMYEYE GRE BILET
NUMARALARI..........\n");
printf("...............(3)...TM EKL
SONULARI.....................\n");
printf("...............(4)...YEN EKL
YAP..........................\n");

- 24 -

printf("...............(5)...PROGRAMDAN
IKI..........................\n");
printf("...............................................................\n");
printf("....................SEMNZ....................:");
scanf("%d",&secim);
switch(secim)
{
case 1:
clrscr();
goto biletsorgu;
case 2:
clrscr();
goto ikramiye;
case 3:
clrscr();
goto toplusonuclar;
case 4:
clrscr();
goto cekilis;
case 5:
clrscr();
goto bitis;
default:
printf("\nYANLI SEM YAPTINIZ YEN SEM
N ENTER A BASIN !!!");
getch();
goto secimtekrar;
}
// BILET SORGU //
biletsorgu:
printf("Ltfen bilet numarasn giriniz (1-40)...:");
scanf("%d",&binu);
if ((binu >40) || (binu <1))
{
printf("Yanl bilet numaras girdiniz ltfen
tekrar girin !!!!\n");
goto biletsorgu;
}
else
{
printf(".............................................................\n");
if (A[binu]==0)

printf("Maalesef herhangi bir


ikramiye yok\n!!");
else
printf("Tebrikler biletinize %d TL ikramiye
kmtr\n",A[binu]);
printf(".............................................................\n");
}
printf("\nDEVAM N ENTER'A BASIN....");
getch();
goto secimtekrar;
// BILET SORGU SON //
// IKRAMIYE //
ikramiye:
printf("IKRAMIYE
BILET
NUMARALARI\n");
printf("========
================\n");
printf("3000
");
for(i=1;i<=40;i++)
if (A[i]==3000) printf("%d ",i);
printf("\n");
printf("500
");
for(i=1;i<=40;i++)
if (A[i]==500) printf("%d ",i);
printf("\n");
printf("5
");
for(i=1;i<=40;i++)
if (A[i]==5) printf("%d ",i);
printf("\n");
printf("\nDEVAM N ENTER'A BASIN....");
getch();
goto secimtekrar;
// IKRAMIYE SON //
// TOPLU SONUCLAR //
toplusonuclar:
printf("BLET NO
IKRAMIYE
NO
KRAMYE\n");
for (i=1;i<=20;i++)
{
printf("%d\t\t%d
%d\t\t%d\n",i,A[i],i+20,A[i+20]);
}

BLET

- 25 -

printf("\nDEVAM N ENTER'A BASIN....");


getch();
goto secimtekrar;
// TOPLU SONUCLAR SON//
// BITIS//
bitis:
printf("...............................................................\n");
printf(".....................TEEKKR EDERZ Y
GNLER................\n");
printf("...............................................................\n");
getch();
// BITIS SON //
}
*********************************************
Soru 73*: Square Free saylar programn yaznz.
*********************************************

#include <stdio.h>
#include <math.h>
#include <conio.h>
void main() {
int x, y, i;
int test,kalan;
int say;
for (x=3;x<=100;x++) {
if ((x%22)==0) {
printf("Devam Icin Bir Tusa Basiniz...\n");
getch(); }
say=0;
printf("%d ",x);
for (i=2; i<=(x-1); i++) {
y= x%i;
if (y==0) {
test=sqrt(i);
kalan=i-(test*test);
if (kalan==0)
say++;
}
}
if (say==0)
printf("Square Free\n");
else
printf("Square Free Degil\n");
} }

*********************************************
Soru 74: renci bilgilerini ogrenci.txt adl dosyaya
kaydetme program.
*********************************************
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *dg;
/* dosya gstericisi */
const int n = 10; /* renci says */
char ad[10];
int no, Not, i=0;
dg = fopen("ogrenci.txt", "w");
if( dg == NULL )
puts("ogrenci.txt dosyasi acilmadi. !\n"),
exit(1);
puts("10 ogrenciye ait bilgileri girin:");
while( i++<n )
{
printf("%d. ogrencinin numarasi: ",i);
scanf("%d",&no);
printf("%d. ogrencinin adi : ",i); scanf("%s",ad);
printf("%d. ogrencinin notu : ",i);
scanf("%d",&Not);
printf("\n");
fprintf(dg,"%5d %10s %3d\n",no,ad,Not); /* verileri
formatl yaz! */ }
/* dosyay kapat */
fclose(dg);
puts("Bilgiler kaydedildi.\a");
return 0; }
*********************************************
Soru 75: Negatif Sayi Girilene Kadar Girilen Pozitif
sayilari C altinda a.txt dosyasina atan Program.
*********************************************
# include <stdio.h>
main()
{
FILE *text;int i;
text=fopen("c:/a.txt","w");
i=10;
while (i>=0)
{
printf("Lutfen bir sayi giriniz...:");
scanf("%d",&i);
if ( i>0 )
fprintf(text,"%d\n",i)};
fclose(text)};

- 26 *********************************************
Soru 76: a.txt ve b.txt dosyalarnda bulunan
tamsaylar okuyup toplamlarn c dosyasna, byk
olann d dosyasna atan program yaznz.
*********************************************
#include<stdio.h>
main()
{
FILE *a,*b,*c,*d;
int i,j;
a=fopen("C:/a.txt","r");
b=fopen("C:/b.txt","r");
c=fopen("C:/c.txt","w");
d=fopen("C:/d.txt","w");
while (feof(a)==0)
{
fscanf(a,"%d",&i);
fscanf(b,"%d",&j);
fprintf(c,"%d\n",i+j);
if (i>j)
fprintf(d,"%d\n",i);
else
fprintf(d,"%d\n",j);
}
fclose(d);
fclose(c);
fclose(b);
fclose(a);
}
*********************************************
Soru 77: Rastgele retilip dosyaya atlan saylarn
iinde klavyeden girdiin saynn ka defa olduunu
bulan program yaznz.
*********************************************
#include<stdio.h>
#include<stdlib.h>
main()
{
FILE *test;
int i,j,sayac=0,s;
test=fopen("C:/a.txt","w");
srand(time(0));

for(j=1;j<=20;j++)
{
i=rand()%30;
fprintf(test,"%d\n",i);
}
fclose(test);
test=fopen("C:/a.txt","r");
printf("Ltfen aradnz sayy girin..:");
scanf("%d",&s);
while(feof(test)==0)
{
fscanf(test,"%d",&i);
if (i==s)
sayac++;
}
printf("Sayac....:%d",sayac);
}
*********************************************
Soru 78: a.txt dosyas iinde say adedi 30-50
arasnda deiebilen 1-100 arasnda saylar retilecek.
Kkten bye doru dizip b dosyasna atacak.
*********************************************
#include<stdio.h>
#include<stdlib.h>
main()
{
FILE *test,*test1;
test=fopen("C:/a.txt","w");
int i,j,sa,s,tmp;
int A[60];
srand(time(0));
sa=rand()%20+30;
for(i=1;i<=sa;i++)
{
s=rand()%100;
fprintf(test,"%d\n",s);
}
fclose(test);
test=fopen("C:/a.txt","r");
for(i=1;i<=sa;i++)
{
fscanf(test,"%d",&j);
A[i]=j;
}
fclose(test);

- 27 for(i=1;i<=sa;i++)
for(j=1;j<=sa;j++)
{
if (A[i]<A[j])
{
tmp=A[i];
A[i]=A[j];
A[j]=tmp;
}
}
test1=fopen("C:/b.txt","w");
for(i=1;i<=sa;i++)
{
fprintf(test1,"%d\n",A[i]);
}
fclose(test1);
}
*********************************************
Soru 79: 3x^3+x^2+3x+1 polinom deerlerini 0.2-25.2
deerleri arasndaki her 0.2 deer art iin bulup
sonu.dat dosyasna yazan program.
*********************************************
# include <stdio.h>
main()
{
int a0,a1,a2,a3;
float t,y;
FILE *text;
text=fopen("c:/sonuc.dat","w");
a0=1; a1=3; a2=1; a3=3;
t=0.2;
while(t<=25.2)
{
y=a0+a1*t+a2*t*t+a3*t*t*t;
fprintf(text,"%3.1f----->%3.1f\n",t,y);
t=t+0.2;
}
fclose(text);
}

*********************************************
Soru 80: rencilerin numara, ad ve notlarnn
bulunduu ogrenci.txt dosyasndan en yksek, en
dk ve ortalamay bulan program.
*********************************************
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *dg;
/* dosya iaretisi */
char Ad[10];
int Not, No, eb, ek, n, top;
float ort;
if( (dg=fopen("ogrenci.txt","r")) == NULL )
puts("Dosya almad !\n"), exit(1);
/* balang deerleri ata */
ek = 1000; /* ok byk */
eb = -1000; /* ok kk */
top = 0; /* notlarn toplam */
n = 0; /* notu 0'dan farl rencilerin toplam */
while( !feof(dg) )
/* dosyann sonuna kadar */
{
fscanf(dg,"%d %s %d",&No,Ad,&Not); /* verileri
oku! */
if(Not>eb) eb = Not;
/* en byk ve en kk
bulunuyor... */
if(Not<ek) ek = Not;
if(Not) n++;
/* Not 0'dan farkl m? */
top += Not;
/* Notlarin toplam */
}
fclose(dg);
/* dosyay kapat */
ort = (float) top/n;
/* ortalama (0 lar hari!)
*/
printf("En yuksek not = %2d\n",eb); /* sonular
ekrana ... */
printf("En dusuk not = %2d\n",ek);
printf("Ortalama = %4.1f\n",ort);
return 0;
}

- 28 *********************************************
Soru 81: 1 den 100 kadar olan saylardan tekleri tek
dosyasna, iftleri ift dosyasna kaydeden program
yaznz.
*********************************************
# include <stdio.h>
main()
{
FILE *tek,*cift;
int i;
tek=fopen("c:/tek.txt","w");
cift=fopen("c:/cift.txt","w");
for(i=1;i<=99;i=i+2)
{
fprintf(tek,"%d\n",i);
fprintf(cift,"%d\n",i+1);
}
fclose(tek);
fclose(cift);
}
*********************************************
Soru 82: Dosyaya yazma rnei.
*********************************************

# include <stdio.h>
main()
{
FILE *out;
char *s;
int A,B,C;
A=3;B=2;
s="Odev#1";
out=fopen("c:/out.txt","w");
fprintf(out,"A=%d,B=%d ",A,B);
fprintf(out,"Bu satirdan sonra yeni bir satir
baslayacak");
fprintf(out,"\n");
fprintf(out,"%s",s);
fprintf(out,"\n");
fprintf(out,"%d",A+B);
fprintf(out,"\n");
fprintf(out,"%d\t%d\t%d\n",A,B,A*B);
fprintf(out,"Burasi satir sonu");
fclose(out);
}

*********************************************
Soru 83: Makro yazma
*********************************************
# include <stdio.h>
# define yazdir(d,x) printf("%d\n",x);
# define max(x,y) ((x)>(y)?(x):(y));
main()
{
int k,i,j;
k=3; i=9;
yazdir(d,k);
j=max(i,k);
printf("%d",j);
}
*********************************************
Soru 84: Makro & Function rnei
*********************************************
# include <stdio.h>
# define f1(x,y) ((x)>(y)?(x+y):(x*y));
int f2(int,int);
int f3(int,int);
main()
{
int x,y,s,t;
x=14;
y=1;
s=f1(x,y);
printf("%d\n",s);
if ( s > 8)
t=f2(x,y);
else
t=f3(x,y);
printf("%d",t);
}
int f2 (int a, int b)
{
return(a+2*b);
}
int f3 (int a, int b)
{
return (a-2*b);
}

- 29 *********************************************
Soru 85: Makro rnei
*********************************************
# include <stdio.h>
# include<conio.h>
# define bekle() printf ("Devam iin herhangi bir tusa
basin....:");getchar() /* Makro Fonksiyon tanimi */
# define temizle() clrscr()
main()
{
bekle();
printf("DENEME1\n");
bekle();
printf("DENEME2\n");
temizle();
printf("DENEM3\n");
}
*********************************************
Soru 86: Makro Fonksiyonlar
*********************************************
# include <stdio.h>
# define kare(x) (x)*(x) /* Makro Fonksiyon tanimi */
# define toplam(x,y) (x)+(y)
# define buyuk(a,b) ((a>b)?a:b)
# define mutlak(x) ((x>0)?x:-x)
main()
{
int a,b,c,d,e;
a=5; e=-8;
b=kare(a);
printf("%d\n",b);
c=toplam(a,b);
printf("%d\n",c);
d=buyuk(23,12);
printf("%d\n",d);
printf("%d\n",mutlak());
}

*********************************************
Soru 87: Ana Programda Saylar Klavyeden Girdirip
Toplamn Fonksiyonda Bulup Sonucu Ana Programda
Yazdran Program Yazdrnz.
*********************************************
#include <stdio.h>
int topla(int, int); /*** fonksiyon prototipi ***/
main(){
int toplam,a,b;
printf("Iki sayi girin : ");
scanf("%d %d",&a,&b);
/* fonksiyon arlp, a ve b deerleri parametre olarak
aktarlyor.*/
toplam = topla(a,b);
printf("%d ve %d nin toplami %d dir.\n", a,b,toplam);
}
/*** fonksiyon tanmlanmas ***/
/* Bu fonksiyon iki tamsayy toplar */
int topla( int x, int y ){
int sonuc;
sonuc = x + y;
return sonuc;
}
*********************************************
Soru 88*: Fonksiyon (Call By Value, Call By Reference)
*********************************************
# include <stdio.h>
test (int , int []);
test(int b, int c[])
{
b=b+1;
c[2]=48;
}
main()
{
int a;
int b[10];
a=4;
b[2]=5;
test(a,b); /* Burada a degikeni call by value ile arld iin
/* deeri deimez ama array elemanlar otomatik oalrak call
/* by referanse ile arld iin deeri etkilenir...

printf("%d\n",a);
printf("%d\n",b[2]);
}

- 30 *********************************************
Soru 89: Fonksiyon (Call By Value, Call By Reference)
*********************************************
# include <stdio.h>
test(int *,int);
test(int * b, int k)
{
*b=*b+12; k=25;
}
main()
{
int a,b;
a=4; b=10;
test(&a,b); /* a call by referanse b call by value */
printf("%d\n",a);
printf("%d\n",b);
}
*********************************************
Soru 90: Fonksiyon (Call By Reference)
*********************************************
# include <stdio.h>
test(int *);

k=3;
printf("%d\n",k);
degistir(k);
printf("%d\n",k);
}
void degistir (int k)
{
k++;
printf("%d\n",k);
}
*********************************************
Soru 92: Fonksiyon (Call By Reference)
*********************************************
# include <stdio.h>
void degistir (int *);
main()
{
int k;
k=3;
printf("%d\n",k);
degistir(&k);
printf("%d\n",k);
}

test(int * b)
{
*b=*b+12;
}

void degistir (int *k)


{
(*k)++;
printf("%d\n",*k);
}

main()
{
int a;
a=4;
test(&a);
printf("%d\n",a);
}

*********************************************
Soru 93: Fonksiyona Array Gnderme (Call By
Reference)
*********************************************

*********************************************
Soru 91: Fonksiyon (Call By Value)
*********************************************
# include <stdio.h>
void degistir (int);
main()
{
int k;

# include <stdio.h>
void degistir (int []);
main()
{
int k;
int A[3];
A[0]=4; A[1]=5; A[2]=6; A[3]=7;
for (k=0;k<=3;k++)
printf("%d\n",A[k]);
printf("\n");

- 31 degistir(A);
for (k=0;k<=3;k++)
printf("%d\n",A[k]);
}
void degistir (int A[])
{
int j;
for (j=0;j<=3;j++)
A[j]++;
}
*********************************************
Soru 94*: Recursive (zyineli fonksiyon) rnei(1)
*********************************************
# include <stdio.h>
void doll ( int size )
{
int i=4;
i++;
printf("%d\n",++i);
if ( size == 0 )
return;
doll (size - 1);
}
int main()
{
doll (10);
}
*********************************************
Soru 95: Recursive (zyineli fonksiyon) rnei(2)
(Saynn Basamak Deerlerini Bulur)
*********************************************
# include <stdio.h>
void deneme (int k)
{
if (k/10)
deneme (k/10);
printf("%d\n",k % 10);
}
int main()
{
deneme(1236);
}

*********************************************
Soru 96: Recursive (zyineli fonksiyon) rnei(3)
(Fibenocci serisinin ilk 20 elemann bulur)
*********************************************
# include <stdio.h>
int recFib(int n)
{
if (n<=1) return n;
else return recFib(n-1)+recFib(n-2);
}
int main()
{
int x,i;
for(i=1;i<=20;i++)
{
x=recFib(i);
printf("%d\t%d\n",i,x);
}
}
*********************************************
Soru 97*: Structure (Yap) rnei (1)
*********************************************
# include <stdio.h>
main()
{
int a;
/* buradaki integer standart tip */
struct ogrenci /* Yeni tipim ogrenci yeni tip */
{
/* tanmlamas */
int num;
char * ad;
char cins;
int puan;
};
ogrenci ogr,ogr1; /* ogr degisken adi , ogrenci tip adi
*/
a=10;
ogr.num=67;
ogr.puan=98;
ogr.ad="Mukremin";
ogr.cins='K';
printf("Ogrencinin numarasi= %d puani=%d ad=%s
cins=%c",ogr.num, ogr.puan, ogr.ad,ogr.cins);
ogr1=ogr; /* Bir yapinin tm elemanlari baska bir
yapiya esitlenebilir */
printf("2. Ogrencinin puani =%d",ogr1.puan);
}

- 32 *********************************************
Soru 98: Structure (Yap) rnei (2)
*********************************************

enum {Kiz,Erkek} cinsiyet; /*Sadece burdaki degisken


adi kullanabilir*/
enum {Bekar,Evli} medeni_hal;

# include <stdio.h>
main()
{

/*ILK KULLANIM TIPINE ORNEK */


enum guzellik gorunum;
enum renkler renk; /*renkler degisken tipi, renk
degisken adi */
/*Bu kullanim icin yukardaki degiskenler, tanimak lazim
*/
renk=sari; /* renk degeri 1 olarak cikar, yesil
tanimlanamaz */
printf("renk=%d\n",renk);
gorunum=Guzel;
printf("Gorunumu=%d\n",gorunum);

struct araba /* Yeni tip ogrenci */


{
int model;
int fiyat;
char marka[15];
};
araba mycar;
/* Yukardaki model, fiyat,marka isimlerini tek basina
kullanamazsiniz degisken adi olan */
/* mycar ile birlikte kullanabilirsiniz */
printf("Lutfen araba markasini giriniz.....: ");
scanf("%s",&mycar.marka);
printf("Lutfen araba modelini giriniz.....: ");
scanf("%d",&mycar.model);
mycar.fiyat=20000; /* Direk degerde atanabilir */
if ((mycar.model) > 1978)
mycar.fiyat=10000;
else
mycar.fiyat=5000;
printf("Marka=%s Model=%d
Fiyat=%d
",mycar.marka,mycar.model, mycar.fiyat);
}
*********************************************
Soru 99: Enum kullanm.
*********************************************
#include <stdio.h>
main()
{
/* Enum parametresi kullanici tanimli degisken gibi
dusunelebilir */
enum renkler{kirmizi,sari,mavi}; /*Degisken adi
verilebilir */
enum guzellik {Guzel,Cirkin};

/*IKINCI KULLANIM TIPINE ORNEK */


cinsiyet=Erkek;
printf("Cinsiyeti=%d\n",cinsiyet);
medeni_hal=Bekar;
printf("Medeni Hali=%d\n",medeni_hal);
}
*********************************************
Soru 100: Command Line Argument says 2 iken 2
sayy toplayan Program yaznz (eksik ya da fazla
parametrede uyar verecektir)
*********************************************
# include <stdio.h>
# include <stdlib.h>
main(int argsay, char * argvec[])
{
int toplam;
if (argsay < 3)
{
printf("Eksik parametre \n");
exit(0);
}
if (argsay > 3)
{
printf("ok fazla parametre \n");
exit(1);
}
toplam=atoi(argvec[1]) + atoi(argvec[2]);
printf("Toplamlari= %d\n ",toplam);
printf("Programin adi---->%s\n", argvec[0]);
printf("Ilk arguman---->%s\n", argvec[1]);
printf("Iknc eleman--->%s\n", argvec[2]);
}

- 33 *********************************************
Soru 101: Komut satrndan altrlacak hesap
makinesi programn Yaznz.
*********************************************

*********************************************
Soru 103: 2 Deikeni Yedek Deiken Kullanmadan
Yer Deitiren Program Yaznz.
*********************************************

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[])
{
char ch;
int op1, op2;
if (argc != 4) {
printf("usage : cal Op1 Operator Op2\n");
exit(EXIT_FAILURE);
}
op1 = atoi(argv[1]);
op2 = atoi(argv[3]);
ch = argv[2][0];
printf(" = ");
switch (ch) {
case '+' : printf("%d\n", op1 + op2); return 0;
case '-' : printf("%d\n", op1 - op2); return 0;
case '/' : printf("%lf\n", (double)op1 / op2); return 0;
case '*' : printf("%d\n", op1 * op2); return 0;
case '%' : printf("%lf\n", (double)op1 * op2 / 100);
return 0;
case 'k' : printf("%lf\n", pow(op1, op2)); return 0;
default : printf("hatal ile\n");
}
}

#include <stdio.h>

*********************************************

Soru 102*: Harici header (*.h) dosyas ekleme .


*********************************************
a.h
#include <stdio.h>
# define sil (int) 23
# define kare(a) a*a
main.c
#include<a.h>
main()
{
int b;
printf("deneme\n");
printf("%d\n",sil);
b=kare(12);
printf("%d\n",b)};

int main()
{
int a = 15, b = 13;
printf("%d %d\n", a , b);
a = a - b;
b = b + a;
a = b - a;
printf("%d %d", a, b);
}
*********************************************

Soru 104: stenen saydaki asal sayy ekrana yazdran


program yaznz.
*********************************************
#include <stdio.h>
int asal(int);
main()
{
int i ; /* asal olup olmad snanacak saylar */
int kac; /* ilk ka asal saynn listelenecei bilgisi */
int j; /* listelenen asal saylarn adetini tutar */
printf("ilk ka asal say listelenecek : ");
scanf("%d", &kac);
i = 2;
for (j = 1; j<=kac;i++)
if (asal(i)) {
printf("%d \n", i);
j++; } }
int asal(int n)
/* say asal ise 1 deilk ise 0 deerini alr */ ,
int i;
if (n % 2 == 0)
return (n==2);
if (n % 3 == 0)
return (n==3);
if (n % 5 == 0)
return (n==5);
for (i=7; i*i <= n; i+=2)
if (n % i == 0)
return 0;
return 1; }

- 34 *********************************************
Soru 105: Stringle ad yazdrma program yaznz.
*********************************************
#include<stdio.h>
main()
{
char ad[20];
printf("adinizi giriniz=");
scanf("%s",ad);
printf("\n"),
printf("merhaba,%s\n",ad);
}
*********************************************
Soru 106: A-Z arasndaki harfleri yazdran program
yaznz.
*********************************************
# include <stdio.h>
main()
{
int i;
for(i=65;i<91;i=i+2)
printf("%d=%c\t %d=%c\n",i,i,i+1,i+1);
/* integer gosterim icin %d */
/* karakter gosterim icin %c */
}
*********************************************

Soru 107: Stringleri saa sola hizalama


*********************************************
# include <stdio.h>
main()
{
char *s;
s="Mukremin Bas";
printf("Benim adim..:%s..dir\n",s); /*Direk Kullandk*/
printf("Benim adim..:%8s..dir\n",s); /*Kucuk Yer
Ayirmak Etkilemez */
printf("Benim adim..:%20s..dir\n",s); /*Fazla karakter
saga yaslar*/
printf("Benim adim..:%-20s..dir\n",s); /*Fazla karakter
sola yaslar*/
printf("Benim adim..:%20.5s..dir\n",s); /*Fazla karakter
20 karakter ayrdk ilk 5 karakterini saga yaz*/
printf("Benim adim..:%-20.5s..dir\n",s); /*Fazla karakter
20 karakter ayrdk ilk 5 karakterini sola yaz*/
}

*********************************************
Soru 108: Klavyeden girilen harfin kk veya byk
olduunu buluan program.
*********************************************
#include <stdio.h>
#include<conio.h>
main()
{
char ch;
printf("Bir harf tusuna basiniz.:");
ch=getch();
printf("\n");
if('A'<=ch && ch<='Z')printf("Byk harf tusuna
bastiniz..\n");
else
printf("Kk harf tuuna bastiniz...\n");
}
*********************************************
Soru 109: Klavyeden girilen bir karakter dizesinin tersi
bulunarak ekrana yazdran program yaznz.
*********************************************
#include <stdio.h>
#include <string.h>
main(){
char ifade[100];
int k,uzunluk;
puts("fadenizi Giriniz\n");
gets(ifade);
uzunluk=strlen(ifade);
for(k=uzunluk-1;k>=0;k--)
putchar(ifade[k]);
putchar('\n');}

*********************************************
Soru 110: Klavyeden girilen kelimenin byk-kk ya
da kark harflerden ibaret olduunu bulan program
yaznz.
*********************************************
#include <stdio.h>
#include <string.h>
main()
{
char m1[10];
char m2[10];
char m3[10];

- 35 printf("LUTFEN BIR KELIME GIR..:");


scanf("%s",&m1);
strcpy(m2,m1);
strcpy(m3,m1);
strlwr(m2);
strupr(m3);
if (strcmp(m1,m2)== 0)
printf("hepsi kktr");
else if ((strcmp(m1,m3)== 0))
printf("hepsi byk");
else
printf("karisik");
}
*********************************************

Soru 111: String ve Char kullanm


*********************************************
# include <stdio.h>
main()
{
/* string tanimlama iin 2 yntem vardir */
/* char *ad veya char ad[] */
/* Bu durumda direk deger atanir klavyeden okunamaz
*/
/* string atamalarinda " " isareti kullanilir */
/* string harf toplulugunu temsil eder--> kelime */
/* %s ile temsil edilir */
char *ad="mukremin";
char soyad[]="bas";
/* char[10] klavyeden deger girilir */
/* direk deger atamasi yapilamaz */
char il[10];
printf("Ilinizi girin....:");
scanf("%s",&il);
printf("Merhaba %s li %s %s\n",il,ad,soyad);
/*Char tek harfi temsil eder */
/* '' arasinda tanimlanir */
/* %c ile temsil edilir */
/* Harf okuma islemlerinde bosluga dikkat ediniz */
/* Bazi durumlarda bos yere okutma yapmaniz
gerekebilir */
char harf1,harf2,harf3;
harf1='M';
printf("Harf2 yi giriniz....:");
scanf("%c",&harf3); /* ilin Sonunda Basilan Enteri
Okumak icin */
scanf("%c",&harf2);

printf("Harfler %c %c\n",harf1,harf2);
/*Stringler ierisindeki her bir elemanda */
/* Char olarak dsnlr arrayda index yontemi ile
erisilebilir*/
printf("Ilinizin 2. harfi....:%c",il[1]);
}
*********************************************
Soru 112: Klavyeden girilen harfin sesli ve byk olup
olmadn bulan program yaznz.
*********************************************
#include <stdio.h>
#include<conio.h>
main()
{
char a;
printf("bir harf giriniz....");
a=getchar();
switch(a)
{
case 'A':
case 'E':
case 'I':
case 'U':
printf("byk");
case 'a':
case 'e':
case 'i':
case 'u':
printf("sesli harf...\n");
break;
default:printf("sessiz harf...\n");
break;
}
}
*********************************************
Soru 113: Klavyeden girilmi bir ifadenin uzunluunu
strlen fonksiyonu kullanmadan bulan yazdran
program yaznz.
*********************************************
#include <stdio.h>
char cumle[1024];
int s=0;
main(){
gets(cumle);
while (cumle[s]!='\0')s++;
printf("Uzunluk:%d\n",s);}

- 36 *********************************************
Soru 114: Programn devamn salama
*********************************************
# include <stdio.h>
# include <conio.h>
main()
{
int x;
char devam,tmp;
basla:
printf("Lutfen bir sayi giriniz...:");
scanf("%d",&x);
printf("Girdiginiz sayi----------->%d\n",x);
printf("**************************\n");
printf("DEVAM ETMEK ISTIYORMUSUNUZ (E/H) ");
scanf("%c",&tmp); /* Enter Okumak Icin */
scanf("%c",&devam);
if ((devam=='e')||(devam=='E'))
{
clrscr();
goto basla;
}
clrscr();
printf("!! Programimiz bitmistir tesekkur ederiz !!");
}

AIKLAMALAR
73*
Square-Free Tam Saylar:
1 dnda tam kare olan saylara blnemeyen ya da kareden bamsz tam saylara free-square tam saylar
denmektedir. Bir rnek vermemiz gerekirse; 12 bir square-free tam says deildir.nk;12 says 4'e
blnmektedir. 4 ise 2'nin karesi olduu iin tam kareden bamsz deildir.te bu nedenle 12 square-free tam
says olamaz. Free-Square Saylar tam kareden bamsz olmaldr...
FREE-SQUARE TAM SAYILARININ LK 15 SAYISI:
1,2,3,5,6,7,10,11,13,14,15,17,19,21,22 ...dir.

88*
Fonksiyonlara Deer Gnderirken 2 Yntem Vardr:
* CALL BY VALUE
deer ile gnderme
* CALL BY REFERENCE referans ile gnderme

CALL BY VALUE:
fonksiyondan sonra yerel deikenlerin deeri deimez
default olarak call by value;

CALL BY REFERENCE
fonKsiyondan sonra yerel deikenlerin deeri deiir
Bir fonksiyona array gnderilirse otomatik olarak call by referans ile arld iin fonksiyon etkisi devam
eder.....

94*
zyineleme (Recursion) Fonksiyonlar:
Kendi kendisini dorudan veya dolayl olarak aran fonksiyonlara zyineli (recursive) fonksiyonlar ad verilir.
zyineleme bir problemi benzer ekilde olan daha kk paralara blnerek
zlmesini salayan
bir tekniktir.
zyineleme, dnglere (iteration) alternatif olarak kullanlabilir.
zyineleme ilemi durdurma durumu salannca sonlandrlr.

97*
Yap (Structure ):
ilk yntem
struct ogrenci
{
int num;
char ad[10];
char cins;

1
int puan;
};
ikinci yntem:
typedef struct
{
int num;
char * ad;
char cins;
int puan;
} ogrenci;
deiken tanmlada
ogrenci ogr; /* Tek degisken tanimlama
int a,b;
ogrenci ogr1,ogr2; /* Birden fazla deiken normal */

/* deikenlerde oldugu gibi tanimlanabilir */

102*
Harici header dosyas ekleme (*.h ):
Buradaki sorun header dosyas ile ana program ayn klasrde bulunduu halde header arrken uzun adres
vermeye gerek varm tartmas. Baz c compilerleri header dosyasn grmyor bu durumda header dosyasnn
adresini uzun vermek lazm header dosyalarnn arma esnasnda komut sonuna ; konulmuyor.

105*
String Yntemleri:
char * ad ----> direk deer atanabilir (ad="mukremin"), fakat klavyeden scanf ile okutamazsnz
char ad[] ----->
char ad [10] --> direk deer atanamaz , klavyeden scanf ile okutabilirsiniz....

You might also like