C Programlama Örnekler 4

Ö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;
}