Süre 90 dakika, sýnav kapalý kitaptýr.Yapmayacaðýnýz bir soruyu iþaretleyiniz. Geri kalan 8 sorudan Her soru 15 puandýr, 20 puan bonustur. Baþarýlar J

Sýnav çözümleri sorularýn altýndadýr. Genelde sorularýn birden fazla çözümü vardýr. Bu sayfada verilen çözümler sadece örnektir.

Soru 0) Ekrana isminizi, soy isminiz ve öðrenci numaranýzý yazdýran bir program yazýnýz. (sadece bu soru için program tam olmalý (include, return satýrlarý gibi) ve yazým hatasý bulundurmamalýdýr ve kodunuz compile edildiðinde hata vermemelidir. )

#include <stdio.h>
int main(){
        printf("Þadi Evren ÞEKER 970702059");
        return 0;
}

 

Soru 1) Kullanýcýdan iki sayý okuyarak bu iki sayý arasýndaki tek sayýlarý ekrana bastýran ve ekrana basýlan sayýlarýn toplamýný en altta gösteren bir program yazýnýz. (kullanýcýlardan okunan sayýlarýn pozitif olduðunu kabul edebilirsiniz.)

#include <stdio.h>
int main(){
        printf("bir sayi giriniz:");
        int sayi;
        scanf("%d",&sayi);
        printf("bir sayi daha giriniz:");
        int sayi2;
        scanf("%d",&sayi2);
        int toplam=0;
        for(int i = sayi;i<sayi2;i+=2){
               printf("%d\n",i);
        toplam+=i;
        }
        printf("toplam : %d",toplam);
}

 

 

Soru 2) Aþaðýdaki þýklar için ayrý ayrý veya tek bir kod yazýnýz.

a)Kullanýcýdan bir sýnýfta bulunan öðrenci notlarýný okutan bir program yazýnýz. Öðrenci sayýsýný kolay olsun diye 10 kabul edebilirsiniz. Buna göre kullanýcý 10 öðrenci için klavyeden not girecektir.

b) a’ kýsmýnda yapýlan programa ilave olarak notlarýn ortalamasýný, en büyüðünü ve en küçüðünü hesaplatýnýz.

c) kullanýcýdan bir not okuyarak yukarýda girilen notlardan birisi olup olmadýðýný bulunuz. Ekrana kullanýcýnýn daha önceden girdiði bir not ise “not zaten girilmiþ”, girmediði bir not ise, “bu not daha önce girilmemiþ” yazýnýz.

#include <stdio.h>
int main(){
        int a[10];
        for(int i = 0;i<10;i++){
               printf("ogrenci %d notunu giriniz",i);
               scanf("%d",&a[i]);
        }
        int enbuyuk=0,enkucuk=100,toplam=0;
        for(i = 0;i<10;i++){
               if(a[i]>enbuyuk)
                       enbuyuk = a[i];
               if(a[i]<enkucuk)
                       enkucuk = a[i];
               toplam += a[i];
        }
        int ortalama=toplam/10;
        printf("en buyuk : %d en kucuk %d ortalama %d",enbuyuk,enkucuk,ortalama);
        printf("bir not daha giriniz");
    int yeninot;
        scanf("%d",&yeninot);
    int x=0;
        for(i = 0;i<10;i++){
               if(yeninot==a[i]){
               x=1;
                       printf("not zaten girilmis");
            break;
        }
        }
        if(x==0){
        printf("not girilmemis");
        }
}

 

Soru 3) Aþaðýda verilen kodun çalýþtýrýlmasý sonucu ekranda ne görülür, yazýnýz.

 

#include <stdio.h>

int main(void) {

int list[10];

int i;

for (i = 0; i < 10; ++i) {

list[i] = ++i;

}

for (i = 0; i < 10; ++i) {

printf("%d = %d\n", i,

list[i]);

}

getchar();

return 0;

}

 

0=1

1=belirsiz

2=3

3=belirsiz

4=5

5=belirsiz

6=7

7=belirsiz

8=9

9==belirsiz

 

Soru 4). kullanýcýdan bir sayý okuyarak, 1’den bu okunan sayýya kadar olan sayýlarýn küplerinin 7 katlarýnýn toplamýný veren programý yazýnýz.

 

#include <stdio.h>
int main(){
        printf("bir sayi giriniz");
        int sayi;
        scanf("%d",&sayi);
        int toplam=0;
        for(int i=1;i<sayi;i++){
               toplam += i*i*i*7;
        }
        printf("sonuc: %d",toplam);
}

 

 

Soru 5). 1’den 500’e kadar olan sayýlardan 2’ye ve 7’ye bölünebilen ama 5’e bölünemeyen sayýlarý ekrana yazan programý yazýnýz.

#include <stdio.h>
int main(){
        for(int i = 0;i<500;i++){
               if(i%2==0&&i%7==0&&i%5!=0)
                       printf("%d-",i);
        }
}

 

Soru 6). Kullanýcýdan saat cinsinden bir tam sayý okuyup bu saat bilgisini, gün ve hafta olarak ekrana yazan programý yazýnýz. (Örneðin, 5000 saat = 29 hafta + 5 gün + 8 saat)

#include <stdio.h>
int main(){
        printf("saat cinsinden bir sayi giriniz");
        int saat;
        scanf("%d",&saat);
        int gun = saat/24;
        saat= saat %24;
        int hafta = gun /7;
        gun = gun %7;
        printf("saat %d gun %d hafta %d",saat,gun,hafta);
}

 

Soru 7). Aþaðýda verilen kodun hatalarýný düzeltiniz. (hatalarý kodun üzerinde düzeltmeyiniz. Kodun tamamýný yeniden yazýnýz.)

#insert <studyo.h>

int main()

{

int num1, num2, average;

printf(3 sayý giriniz: );

scanf(&f&f, num1, num2);

if num1>6 & num2>6

printf(Hem %num1 hem de %num2 sayýlarý 6’dan büyüktür.\n);

else

printf(Hem %num1 hem de %num2 sayýlarý 6’dan küüçktür.\n);

num1+num2 / 2 = average;

printf(Ortalamalarý: %average.\n);

return 0;

}

 

 

Soru 8) Aþaðýdaki þýklar için ekrana basýlan deðerleri yazýnýz

a)

#include <stdio.h>

int f(int x)

{

x = 3 + x;

return x;

}

int main(void)

{

int x = 2;

int y = f(x);

printf("%d %d\n", x, y);

return 0;

}

 

2 5

 

b)

#include <stdio.h>

int f(int x)

{

x = 3 + x;

return x;

}

int main(void)

{

int x = 2;

int y = f(f(f(x)));

printf("%d %d\n", x, y);

return 0;

}

 

2 11

 

“Computer Science is no more about computers than astronomy is about telescopes. “
(E. W. Dijkstra)