do - while döngüsü
- 0 girilene kadar girilen sayıların toplamı
#include <stdio.h>
int main() {
int toplam=0, sayi;
printf("sayi giriniz:");
scanf("%d",&sayi);
while(sayi!=0){
toplam = toplam+sayi;
printf("sayi giriniz:");
scanf("%d",&sayi);
}
printf("sayilarin toplami: %d", toplam);
return 0;
}
sayi giriniz:
3
sayi giriniz:
1
sayi giriniz:
7
sayi giriniz:
-4
sayi giriniz:
0
sayilarin toplami: 7
#include <stdio.h>
int main() {
// printf-scanf 1 defa kullanılarak do while ile
// aynı program yazılabilir.
int toplam=0, sayi;
do{
printf("sayi giriniz:");
scanf("%d",&sayi);
toplam = toplam+sayi;
}while(sayi!=0);
printf("sayilarin toplami: %d", toplam);
return 0;
}
#include <stdio.h>
int main() {
int i=10;
do{
printf("%d ",i);
i--;
}while(i>0);
return 0;
}
10 9 8 7 6 5 4 3 2 1
#include <stdio.h>
int main() {
int i=10;
do{
i--;
printf("%d ",i);
}while(i>0);
return 0;
}
9 8 7 6 5 4 3 2 1 0
- Girilen sayının kaç rakamlı olduğunu bulan program.
#include <stdio.h>
int main() {
int sayi, rakam=0;
printf("bir sayi giriniz");
scanf("%d",&sayi);
while(sayi>0){
rakam++;
sayi/=10;
}
printf("girilen sayi %d rakamlidir.",rakam);
return 0;
}
bir sayi giriniz
37271
girilen sayi 5 rakamlidir.
#include <stdio.h>
int main() {
int sayi, rakam=0;
printf("bir sayi giriniz");
scanf("%d",&sayi);
while(sayi>0){
rakam++;
sayi/=10;
}
printf("girilen sayi %d rakamlidir.",rakam);
return 0;
}
bir sayi giriniz
0
girilen sayi 0 rakamlidir.
- do while ile 0 rakamı için hata düzeltilebilir.
#include <stdio.h>
int main() {
int sayi, rakam=0;
printf("bir sayi giriniz");
scanf("%d",&sayi);
do{
rakam++;
sayi/=10;
}while(sayi>0);
printf("girilen sayi %d rakamlidir.",rakam);
return 0;
}
bir sayi giriniz
0
girilen sayi 1 rakamlidir.
for döngüsü
#include <stdio.h>
int main() {
int i;
// for(baslangic durumu 1 defa calisir;
// karsilastirma her iterasyonun basinda;
// her iterasyonun sonunda calisir)
for(i=0;i<10;i++)
printf("%d ",i);
printf("\n");
//yukaridaki for dongusunun while ile
//yazilmasi:
i=0;
while(i<10){
printf("%d ",i);
i++;
}
return 0;
}
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
#include <stdio.h>
int main() {
int i;
for(i=10;i>=0;i--)
printf("%d ",i);
return 0;
}
10 9 8 7 6 5 4 3 2 1 0
- n’den m’ye (dahil) kadar x artan sayilar
#include <stdio.h>
int main() {
int i,n,m,x;
printf("n'den m'ye kadar x artan sayilar icin ");
printf("degerleri giriniz: ");
scanf("%d%d%d",&n,&m,&x);
for(i=n;i<m;i=i+x)
printf("%d ",i);
return 0;
}
n'den m'ye kadar x artan sayilar icin degerleri giriniz:
10 30 4
10 14 18 22 26
#include <stdio.h>
int main() {
int n,m,x;
printf("n'den m'ye kadar x artan sayilar icin ");
printf("degerleri giriniz: ");
scanf("%d%d%d",&n,&m,&x);
for( ;n<=m;n=n+x)
printf("%d ",n);
return 0;
}
n'den m'ye kadar x artan sayilar icin degerleri giriniz:
10 30 4
10 14 18 22 26 30
virgul operatoru
#include <stdio.h>
int main() {
int i,j,k;
i=1,j=2,k=i+j;
printf("%d %d %d",i,j,k);
return 0;
}
- 1’den n’ye kadar olan sayilarin toplami
#include <stdio.h>
int main() {
int i,n,toplam;
printf("1'den n'ye kadar olan sayilarin toplami");
printf(" icin n'yi giriniz: ");
scanf("%d",&n);
toplam=0;
for(i=1;i<n;i++)
toplam = toplam + i;
printf("%d ",toplam);
return 0;
}
1'den n'ye kadar olan sayilarin toplami icin n'yi giriniz:
6
15
#include <stdio.h>
int main() {
int i,n,toplam;
printf("1'den n'ye kadar olan sayilarin toplami");
printf(" icin n'yi giriniz: ");
scanf("%d",&n);
for(toplam=0, i=1;i<n;i++)
toplam = toplam + i;
printf("%d ",toplam);
return 0;
}
1'den n'ye kadar olan sayilarin toplami icin n'yi giriniz:
5
10
- 1’den n’ye kadar olan sayilar ve kareleri
#include <stdio.h>
int main() {
int i,n;
printf("1'den n'ye kadar olan sayilar ve kareleri");
printf(" icin n'yi giriniz: ");
scanf("%d",&n);
for(i=1;i<n;i++)
printf("%5d %5d\n",i,i*i);
return 0;
}
1'den n'ye kadar olan sayilar ve kareleri icin n'yi giriniz:
7
1 1
2 4
3 9
4 16
5 25
6 36
break kullanımı
#include <stdio.h>
int main() {
int i;
for(i=1;i<20;i++){
printf("%d ",i);
if(i>10)
break;
}
return 0;
}
1 2 3 4 5 6 7 8 9 10 11
- for ile sonsuz düngü: for(;;)
#include <stdio.h>
int main() {
int i=1;
for(;;){
printf("%d ",i);
if(i>=20)
break;
i++;
}
return 0;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
#include <stdio.h>
int main() {
int i=1;
for(;;){
printf("%d ",i);
i++;
if(i>=20)
break;
}
return 0;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
continue kullanımı
- 20’ye kadar 3’ün katı olmayan sayılar
#include <stdio.h>
int main() {
int i=1;
for(i=1;i<=20;i++){
if(i%3==0)
continue;
printf("%d ",i);
}
return 0;
}
1 2 4 5 7 8 10 11 13 14 16 17 19 20
# include <stdio.h>
int main() {
int sayi, bolen=2;
printf("sayi giriniz: ");
scanf("%d",&sayi);
while(bolen < sayi){
if(sayi%bolen==0)
break;
bolen++;
}
if(bolen==sayi)
printf("%d sayisi asaldir",sayi);
else
printf("%d sayisi asal degildir. %d sayisi boler",
sayi,bolen);
return 0;
}
sayi giriniz:
1009
1009 sayisi asaldir
# include <stdio.h>
int main() {
int sayi, bolen=2;
printf("sayi giriniz: ");
scanf("%d",&sayi);
for(bolen=2;bolen<sayi;bolen++)
if(sayi%bolen==0)
break;
if(bolen==sayi)
printf("%d sayisi asaldir",sayi);
else
printf("%d sayisi asal degildir. %d sayisi boler",
sayi,bolen);
return 0;
}
sayi giriniz:
1007
1007 sayisi asal degildir. 19 sayisi boler
# include <stdio.h>
int main() {
int sayi, bolen=2;
printf("sayi giriniz: ");
scanf("%d",&sayi);
for(bolen=2;bolen<sayi && sayi%bolen!=0;bolen++);
if(bolen==sayi)
printf("%d sayisi asaldir",sayi);
else
printf("%d sayisi asal degildir. %d sayisi boler",
sayi,bolen);
return 0;
}
sayi giriniz:
1000019
1000019 sayisi asal degildir. 47 sayisi boler
- Kesirli sayının sadeleştirilmesi
# include <stdio.h>
int main() {
int pay, payda, ebob, i;
printf("a/b seklinde sayi giriniz: ");
scanf("%d/%d",&pay,&payda);
for(i=1;i<=pay && i<=payda;i++)
if(pay%i==0 &&payda%i==0)
ebob=i;
printf("girilen %d/%d sayisinin sade hali: ",pay, payda);
printf("%d/%d",pay/ebob, payda/ebob);
return 0;
}
a/b seklinde sayi giriniz:
21/14
girilen 21/14 sayisinin sade hali: 3/2
#include <stdio.h>
int main(int argc, char *argv[]) {
int a,b,c,d,ebob,i=1;
printf("kesir toplama islemi icin: \n");
printf("a/b birinci kesir giriniz:");
scanf("%d/%d",&a,&b);
printf("c/d ikinci kesir giriniz:");
scanf("%d/%d",&c,&d);
while(i<=(a*d+b*c) && i<=(b*d)){
if((a*d+b*c)%i==0 && (b*d)%i==0)
ebob=i;
i++;
}
printf("%d/%d + %d/%d = %d/%d",a,b,c,d, (a*d+b*c)/ebob,(b*d)/ebob);
return 0;
}
kesir toplama islemi icin:
a/b birinci kesir giriniz:
5/10
c/d ikinci kesir giriniz:
1/2
5/10 + 1/2 = 1/1
# include <stdio.h>
int main() {
int n, i,j;
printf("siniri giriniz: ");
scanf("%d",&n);
for(i=1;i<=n;i++){
for(j=1;j<=n;j++)
printf("%4d ",i*j);
printf("\n");
}
return 0;
}
siniri giriniz:
10
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100