Ö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;
}
Hiç yorum yok:
Yorum Gönder