Örnek 21
Girilen sayının mükemmel sayı olup olmadığını bulan program
Kendisi hariç bütün pozitif bölenlerinin toplamı kendisine eşit olan sayılara mükemmel sayı denir.
#include <stdio.h>
int main ( void ){
int sayi ;
int toplam = 0 ;
printf ( "sayi giriniz:" );
scanf ( "%d" , & sayi );
for ( int i = 1 ; i < sayi ; i ++ ){
if ( sayi % i == 0 ){
toplam += i ;
}
}
if ( sayi == toplam ){
printf ( "%d mukemmel sayidir." , sayi );
}
else {
printf ( "%d mukemmel sayi degildir." , sayi );
}
return 0 ;
}
Tıkla Test ET!
Örnek 22
Aylık maaşı 5000 tl, aylık verdiği vergi %15 olan bir çalışanın
geliri yıl içinde 20000 tl’yi geçince verdiği vergi %20’dir.
Bu çalışan yil sonunda kaç lira almış, kaç lira vermiştir?
#include <stdio.h>
int main ( void ) {
float maas = 5000 ;
float vergi1 = 0 . 15 ;
float vergi2 = 0 . 20 ;
float tvergi , gelir ; //toplam vergi , toplam gelir
int i ;
for ( i = 1 ; i <= 12 ; i ++ ){
if ( gelir < 20000 ){
tvergi += maas * vergi1 ;
gelir += maas - maas * vergi1 ;
printf ( "%d. Ay sonundaki \n Gelir: %g tl \n Vergi: %g tl \n " , i , gelir , tvergi );
}
else {
tvergi += maas * vergi2 ;
gelir += maas - maas * vergi2 ;
printf ( "%d. Ay sonundaki \n Gelir: %g tl \n Vergi: %g tl \n " , i , gelir , tvergi );
}
}
printf ( " \n Yillik Gelir: %g tl \n " , gelir );
printf ( "Yillik Vergi: %g tl" , tvergi );
return 0 ;
}
Tıkla Test ET!
Örnek 23
Girilen harf notuna göre geçme durumunu gösteren kod
#include <stdio.h>
int main ( void ) {
char grade ;
printf ( "Harf notu girin:" );
scanf ( "%c" , & grade );
switch ( grade ){
case 'A' :
case 'B' :
case 'C' : printf ( "Gecti" );
break ;
case 'D' : printf ( "Kosullu gecti" );
break ;
case 'F' : printf ( "Kaldi" );
break ;
default: printf ( "Gecerli bir harf girilmedi" );
}
return 0 ;
}
Tıkla Test ET!
Örnek 24
Girilen süreye göre seçilen taşıtın ücretlerini hesplayan kod
#include <stdio.h>
int main ( void ) {
char tur ;
int saat , ucret ;
printf ( "Otobus icin: o \n kamyonet icin: k \n motosiklet icin: m \n >>>" );
scanf ( "%c" , & tur );
printf ( "Sure \n >>>" );
scanf ( "%d" , & saat );
switch ( tur ){
case 'o' :
ucret = 30 ;
printf ( "Otobus sectiniz \n " );
printf ( "Odeneck ucret: %d" , ucret * saat );
break ;
case 'k' :
printf ( "Kamyonet sectiniz \n " );
ucret = 20 ;
printf ( "Odeneck ucret: %d" , ucret * saat );
break ;
case 'm' :
printf ( "Motosiklet sectiniz \n " );
ucret = 10 ;
printf ( "Odeneck ucret: %d" , ucret * saat );
break ;
default: printf ( "Yanlis arac kodu girdiniz" );
}
return 0 ;
}
Tıkla Test ET!
Örnek 25
Switch-case örneği
#include <stdio.h>
int main ( void ){
char takim ;
printf ( "Lutfen bir karakter (b,f,g) giriniz:" );
scanf ( "%c" , & takim );
switch ( takim ){
case 'f' :
printf ( "fenerbahce \n " );
break ;
case 'b' :
printf ( "besiktas \n " );
break ;
case 'g' :
printf ( "galatasaray \n " );
break ;
default:
printf ( "b,f,g karakterlerinden birisini girmediniz \n " );
break ;
}
return 0 ;
}
Tıkla Test ET!
Örnek 26
10 elemanlı bir dizi oluşturup, tek sayıları bu diziye ekleyen kod.
#include <stdio.h>
int main ( void ) {
int n [ 10 ];
int j , i ;
for ( i = 0 ; i < 10 ; i ++ ){
n [ i ] = 2 * i + 1 ;
}
for ( j = 0 ; j < 10 ; j ++ ){
printf ( "Element %d = %d \n " , j , n [ j ]);
}
return 0 ;
}
Tıkla Test ET!
Örnek 27
100’den 110’a kadar sayıları bir diziye, karelerini farklı bir diziye ekleyen daha sonra bu dizilerin elemanlarını yazdıran yazdıran kod
#include <stdio.h>
int main ( void ) {
int n [ 10 ];
int m [ 10 ];
int j , i ;
for ( i = 0 ; i <= 10 ; i ++ ){
n [ i ] = i + 100 ;
m [ i ] = ( i + 100 ) * ( i + 100 );
}
for ( j = 0 ; j <= 10 ; j ++ ){
printf ( "Dizi: %d \n " , n [ j ]);
printf ( "Karesi: %d \n\n " , m [ j ]);
}
return 0 ;
}
Tıkla Test ET!
Örnek 28
ilk 10 asal sayiyi diziye ekleyen kod
#include <stdio.h>
int main ( void ){
int i , j , k = 0 ;
int tf = 0 ;
int n [ 10 ];
for ( i = 2 ; i < 200 ; i ++ ){
for ( j = 1 ; j <= i ; j ++ ){
if ( i % j == 0 ){
tf ++ ;
}
}
if ( tf == 2 ){
tf = i ;
printf ( "%d. asal sayı: %d \n " , k + 1 , tf );
n [ k ] = tf ;
k += 1 ;
if ( k == 10 ){
break ;
}
}
tf = 0 ;
}
return 0 ;
}
Tıkla Test ET!
Örnek 29
İki boyutlu dizi örneği
#include <stdio.h>
int main ( void ) {
int n [ 10 ][ 2 ];
int j , i ;
for ( i = 0 ; i < 10 ; i ++ ){
for ( j = 0 ; j < 2 ; j ++ ){
if ( j ){
n [ i ][ j ] = ( i + 100 ) * ( i + 100 );
}
else {
n [ i ][ j ] = 100 + i ;
}
printf ( "[%d][%d] : %d \n " , i , j , n [ i ][ j ]);
}
}
return 0 ;
}
Tıkla Test ET!
Örnek 30
İki boyutlu dizi örneği 2
#include <stdio.h>
int main ( void ) {
int n [ 10 ][ 3 ];
int j , i ;
for ( i = 0 ; i < 10 ; i ++ ){
for ( j = 0 ; j < 3 ; j ++ ){
if ( j == 0 ){
n [ i ][ j ] = 100 + i ;
}
else if ( j == 1 ){
n [ i ][ j ] = ( i + 100 ) * ( i + 100 );
}
else {
n [ i ][ j ] = ( i + 100 ) * ( i + 100 ) * ( i + 100 );
}
printf ( "n[%d][%d] = %d \n " , i , j , n [ i ][ j ]);
}
}
return 0 ;
}
Tıkla Test ET!
Örnek 31
Bir kelimenin tersten yazılışını veren kod
#include <stdio.h>
#include <string.h>
int main ( void ) {
char kelime [] = "merhaba" ;
for ( int i = strlen ( kelime ); i >= 0 ; i -- ){
printf ( "%c" , kelime [ i ]);
}
return 0 ;
}
Tıkla Test ET!
Örnek 32
Bir değişkenin değerini ve adresin yazdıran kod (işaretçi örneği)
#include <stdio.h>
int main ( void ) {
int var = 21 ;
int * ip ;
ip = & var ;
printf ( "var degiskenin adresi: %p \n " , & var );
printf ( "ip işaretçi adresi: %p \n " , ip );
printf ( "var degiskenin degeri: %d \n " , * ip );
return 0 ;
}
Tıkla Test ET!
Örnek 33
Bir değişkenin değerini işaretçi yardımıyda bastıran-değiştiren kod
#include <stdio.h>
int main ()
{
int * pc , c ;
c = 22 ;
printf ( "c degisken adresi: %p \n " , & c );
printf ( "c degisken degeri: %d \n\n " , c );
pc = & c ;
printf ( "pc isaretci(pointer) adresi: %p \n " , pc );
printf ( "pc isaretci(pointer) icerigi: %d \n\n " , * pc );
c = 11 ;
printf ( "pc isaretci(pointer) adresi: %p \n " , pc );
printf ( "pc isaretci(pointer) icerigi: %d \n\n " , * pc );
* pc = 2 ;
printf ( "c degisken adresi: %p \n " , & c );
printf ( "c degisken degeri: %d \n\n " , c );
return 0 ;
}
Tıkla Test ET!
Örnek 34
Özyinelemeli (recursive) fonksiyon ile faktöriyel hesaplama
#include <stdio.h>
int fact ( int n );
int main ( void ){
int sayi ;
printf ( "Faktoriyeli hesaplanacak sayi:" );
scanf ( "%d" , & sayi );
printf ( "%d! = %d" , sayi , fact ( sayi ));
return 0 ;
}
int fact ( int n ){
int sonuc = ( n ) ? n * fact ( n - 1 ) : 1 ;
return sonuc ;
}
Tıkla Test ET!
Örnek 35
Bir cümledeki kelimeleri sondan başlayarak yazdıran kod
#include <stdio.h>
#include <string.h>
int main ( void ) {
char cumle [] = "Kiyiya vurmadikları surece, baliklar suyun farkinda degildirler" ;
for ( int i = strlen ( cumle ); i >= 0 ; i -- ){
if ( cumle [ i ] == ' ' ){
cumle [ i ] = '\0' ;
printf ( " %s" , & cumle [ i ] + 1 );
}
}
printf ( " %s" , cumle );
return 0 ;
}
Tıkla Test ET!
Örnek 36
Öğrencinin adını, soyadını ve numarasını tutan struct yapısı
#include <stdio.h>
#include <string.h>
struct ogrenci {
char isim [ 50 ];
char soyad [ 50 ];
int numara ;
};
int main ( void ) {
struct ogrenci ogrenci1 ;
strcpy ( ogrenci1 . isim , "ozkan" );
strcpy ( ogrenci1 . soyad , "celik" );;
ogrenci1 . numara = 418 ;
printf ( "Ogrenci ismi : %s \n " , ogrenci1 . isim );
printf ( "Ogrenci Soyadi : %s \n " , ogrenci1 . soyad );
printf ( "Ogrenci numarası : %d \n " , ogrenci1 . numara );
return 0 ;
}
Tıkla Test ET!
Örnek 37
Tanımlanan struct elemanlarının herhangi bir sıradaya göre başlatılmasını sağlamak.
#include <stdio.h>
struct Point {
int x , y , z ;
};
int main ( ) {
struct Point p1 = {. y = 0 , . z = 1 , . x = 2 };
struct Point p2 = {. y = 6 , . z = 7 };
printf ( "%d %d %d \n " , p1 . x , p1 . y , p1 . z );
printf ( "%d %d \n " , p2 . y , p2 . z );
return 0 ;
}
Tıkla Test ET!
Örnek 38
Fonksiyon tanımlanarak bir sayının pozitif-negatif veya işaretsiz olma durumunu kontrol eden kod.
#include <stdio.h>
int sorgu ( int x );
int main ( void ) {
int sayi ;
printf ( "Bir sayi girin:" );
scanf ( "%d" , & sayi );
int sonuc = sorgu ( sayi );
if ( sonuc == 0 )
printf ( "Sayi 0 \n " );
else if ( sonuc == - 1 )
printf ( "Sayi negatif \n " );
else if ( sonuc == 1 )
printf ( "sayi pozitif \n " );
return 0 ;
}
int sorgu ( int x ){
if ( x == 0 )
return 0 ;
else if ( x < 0 )
return - 1 ;
else
return 1 ;
}
Tıkla Test ET!
Örnek 39
Fonksiyon kullanarak struct verilerini yazdırmak
#include <stdio.h>
#include <string.h>
struct Kitaplar {
char isim [ 50 ];
char yazar [ 50 ];
char konu [ 100 ];
int barkod ;
};
/* Fonksiyon prototipi tanimlama */
void kitaplariYazdir ( struct Kitaplar kitap );
int main ( void ){
struct Kitaplar Kitap1 ; /* Kitap1 adli Kitabı Deklare etme */
struct Kitaplar Kitap2 ; /* Kitap2 adli Kitabı Deklare etme */
/* Kitap1 özellikleri */
strcpy ( Kitap1 . isim , "C Programlama Dili" );
strcpy ( Kitap1 . yazar , "Dennis Ritchie" );
strcpy ( Kitap1 . konu , "C Programlama Egitimi" );
Kitap1 . barkod = 65657098 ;
/* Kitap2 özellikleri */
strcpy ( Kitap2 . isim , "Python3" );
strcpy ( Kitap2 . yazar , "Firat Ozgul" );
strcpy ( Kitap2 . konu , "Python Programlama Egitimi" );
Kitap2 . barkod = 6495407 ;
/* Kitap1 bilgilerini yazdir */
kitaplariYazdir ( Kitap1 );
/* Kitap2 bilgilerini yazdir */
kitaplariYazdir ( Kitap2 );
return 0 ;
}
void kitaplariYazdir ( struct Kitaplar kitap ) {
printf ( "Kitap isimi : %s \n " , kitap . isim );
printf ( "Kitabin yazari : %s \n " , kitap . yazar );
printf ( "Kitabin konusu : %s \n " , kitap . konu );
printf ( "Kitabin barkod kodu : %d \n " , kitap . barkod );
}
Tıkla Test ET!
Diğer örnekler:
C Programlama Örnekleri 1