Özyineli (Recursive) fonksiyonlar
- ekrana 10 defa yazi yazan fonksiyon
#include <stdio.h>
void yaz(void){
int i;
for(i=0;i<10;i++)
printf("yazi ");
}
int main() {
yaz();
return 0;
}
yazi yazi yazi yazi yazi yazi yazi yazi yazi yazi
#include <stdio.h>
void yaz(int i){
if(i>0){
printf("yazi ");
yaz(i-1);
}
}
int main() {
yaz(10);
return 0;
}
yazi yazi yazi yazi yazi yazi yazi yazi yazi yazi
#include <stdio.h>
void yaz(int i){
if(i>0)
yaz(i-1);
printf("yazi ");
}
int main() {
yaz(10);
return 0;
}
yazi yazi yazi yazi yazi yazi yazi yazi yazi yazi yazi
- a ile b arasinda n artan sayilar
#include <stdio.h>
int main() {
int a, b, n;
printf("a, b ve n sayilarini giriniz: ");
scanf("%d %d %d", &a,&b,&n);
for(;a<b;a+=n)
printf("%d ",a);
return 0;
}
a, b ve n sayilarini giriniz:
10 20 3
10 13 16 19
#include <stdio.h>
void artan_sayilar(int a, int b, int n){
for(;a<b;a+=n)
printf("%d ",a);
}
int main() {
int a, b, n;
printf("a, b ve n sayilarini giriniz: ");
scanf("%d %d %d", &a,&b,&n);
artan_sayilar(a,b,n);
return 0;
}
a, b ve n sayilarini giriniz:
10 20 3
10 13 16 19
#include <stdio.h>
void artan_sayilar(int a, int b, int n){
if(a<b){
printf("%d ",a);
artan_sayilar(a+n,b,n);
}
}
int main() {
int a, b, n;
printf("a, b ve n sayilarini giriniz: ");
scanf("%d %d %d", &a,&b,&n);
artan_sayilar(a,b,n);
return 0;
}
a, b ve n sayilarini giriniz:
10 20 3
10 13 16 19
#include <stdio.h>
void artan_sayilar(int a, int b, int n){
if(a<b){
// onceki programda fonksiyon cagirma ile
// printf in yerini degistirirsek ne olur?
artan_sayilar(a+n,b,n);
printf("%d ",a);
}
}
int main() {
int a, b, n;
printf("a, b ve n sayilarini giriniz: ");
scanf("%d %d %d", &a,&b,&n);
artan_sayilar(a,b,n);
return 0;
}
a, b ve n sayilarini giriniz:
10 20 3
19 16 13 10
#include <stdio.h>
long us(int a, int n){
long sonuc=1;
int i;
for(i=0;i<n;i++)
sonuc *= a;
return sonuc;
}
int main() {
int x, y;
printf("a, n sayilarini giriniz: ");
scanf("%d %d", &x,&y);
printf("%d ussu %d = %d",x,y,us(x,y));
return 0;
}
a, n sayilarini giriniz:
2 5
2 ussu 5 = 32
#include <stdio.h>
long us(int a, int n){
if(n==1)
return a;
return a * us(a, n-1);
}
int main() {
int x, y;
printf("a, n sayilarini giriniz: ");
scanf("%d %d", &x,&y);
printf("%d ussu %d = %ld",x,y,us(x,y));
return 0;
}
a, n sayilarini giriniz:
3 4
3 ussu 4 = 81
#include <stdio.h>
long faktoriyel(int n){
int i;
long sonuc=1;
for(i=n;i>1;i--)
sonuc = sonuc * i;
return sonuc;
}
int main() {
int x;
printf("bir deger giriniz: ");
scanf("%d", &x);
printf("%d! = %ld",x,faktoriyel(x));
return 0;
}
bir deger giriniz:
5
5! = 120
#include <stdio.h>
long faktoriyel(int n){
if(n==1)
return n;
return n*faktoriyel(n-1);
}
int main() {
int x;
printf("bir deger giriniz: ");
scanf("%d", &x);
printf("%d! = %ld",x,faktoriyel(x));
return 0;
}
bir deger giriniz:
5
5! = 120