Başlangıç seviyesi için bazı çalışmalar

-İki sayıdan büyüğünü bulan işlev:
Kendisine gönderilen int türünden iki sayının büyük olanına geri dönen, get_max2 isimli fonksiyonla yazın.

#include <stdio.h>

int get_max2(int number1, int number2);

int main()
{
	
	
int number1,number2; 
int x,y;
	
	printf("iki sayi giriniz : ");
	scanf("%d%d", &x,&y);
	printf("%d ve %d icin max = %d\n", x, y, get_max2(x,y));

	return 0;
	
}

int get_max2( int number1,  int number2)
{
		if(number1 == number2)
	{
		return number1;
	}
	
	
	if(number1 < number2)
	{
		return number2; // ya da return number1 . esit oldugu icin istedigimiz degeri alabiliriz.
	}
	
	if(number1 > number2)
	{
		return number1;
	}
	
}

-Üç sayıdan büyüğünü bulan işlev:

#include <stdio.h>

int get_max3(int number1, int number2, int number3);
int main()
{
	int s1, s2, s3;
	printf("uc sayi giriniz : ");
	scanf("%d%d%d", &s1 , &s2 , &s3);
	printf("%d %d %d icin max = %d\n", s1, s2, s3, get_max3(s1, s2, s3));
	
	return 0;
}



int get_max3(int number1, int number2, int number3)
{
	
	
	 	if ((number1 >= number2 ) && (number1 >= number3)) 
	    	{
	 		 return number1;
	        }
		else if (number2 >= number3)  //if sarti saglanmadı cunku number2 veya number3 number1'den buyuk.bu yuzden sadece ikisini kiyasladik.
		   {		
		     return number2;
	       }
		else
		   {		
		     return number3;
           }
	
}

-Signum işlevi : Kendisine gönderilen int türden bir tamsayının negatif mi, 0 mı, pozitif mi olduğunu sınayan signum
isimli işlevi tanımlayın.

#include <stdio.h>
int signum(int value);

int main()
{
	int a;
	
	printf("bir sayi girin : ");
	scanf("%d" , &a);
		
	if (signum(a) == 1)
	{
		printf("Girdiginiz sayi pozitifdir.\n");
	}
	else if(signum(a) == -1)
	{
		printf("Girdiginiz sayi negatiftir.\n");
	}
	else 
	{
		printf("Girdiginiz sayi 0'dir.\n");
	}
	return 0;
   }

int signum(int value)
{
	
	if( value > 0 ) 
	{	
	value = 1;
	return value;
    }
   
    if( value < 0 ) 
	{	
	value = -1;
	return value;
    }
	if( value = 0 ) 
	{
	value = 0;
	return value;
    }
}

-Artık yıl sınaması: 4’e tam bölünen yıllar içinde 100’e tam bölünmeyenler ile 400’e tam bölünenler, artık yıldır. Birkaç örnek:
1967 artık yıl değil.(4’e tam bölünmüyor.)
1964 artık yıl.(4’e tam bölünüyor ve 100’e tam bölünmüyor.)
2000 artık yıl (4’e tam bölünüyor ve 400’e tam bölünmüyor.)

#include <stdio.h>

int isleap(unsigned int year);

int main()

{
	int year;
	printf("bir yil giriniz: ");
	scanf("%d", &year);
	if(isleap(year))
	{
	printf("%d yili artik yildir.\n", year);
    }
    else
    {
    printf("%d yili artik yil degildir.\n", year);
	}
	return 0;
	
}

int isleap(unsigned int year)
{
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
{
	return 1;
}
return 0;
}

/* 
int isleap(int  y)
{
   return y % 4 == 0 && y % 100 != 0 || y % 400 == 0;
}

-Basamak sayısını bulmak:Kendisine gönderilen int türden bir sayının basamak sayısına geri dönen no_of_digits işlevini tanımlayın.

#include <stdio.h>
 
int no_of_digits(int value);
 
int main()
{
   int number;
   int n = 5;
 
   while (n-- > 0) 
   {
      printf("bir sayi giriniz : ");
      scanf("%d", &number);
      printf("%d sayisi %d basamakli\n", number, no_of_digits(number));
   }
 
   return 0;
}

int no_of_digits(int value)
{   
   int basamak = 0;
     while(value != 0)
	{
	 
	 value = value / 10;
	 basamak++;
	 
    }
	
	return basamak;	
}

-Basamak değerlerinin toplamı: Kendisine gönderilen int türden bir sayının basamak değerlerinin toplamıyla geri dönen sum_digits işlevi tanımlayın.

#include <stdio.h>
 
int sum_digits(int value);
 
int main()
{
   int val;
   int n = 5;
 
   while (n-- > 0) {
      printf("bir sayi giriniz : ");
      scanf("%d", &val);
      printf("%d icin basamaklar toplami = %d\n", val, sum_digits(val));
   }
 
   return 0;
}

int sum_digits(int value)
{
  int toplam=0;
     while(value !=0)
	{
		toplam = toplam + value % 10;
		value = value / 10 ;
	}
		return toplam;
}

Sorularınız için bizimle iletişime geçin

Size yardım etmek için sabırsızlanıyoruz

Mete Sepetçioğlu

Uludağ Üniversitesi

mete.sepetcioglu@hotmail.com

Hasan Alperen Elmas

GTU Bilgisayar mühendisliği

alperenelmas@alperenelmas.com

Leave a Reply

Your email address will not be published. Required fields are marked *