Question 1 (21 pts)

advertisement
Örnek Soru 1:
a) 1 ile 99 arasındaki 3 ile tam bölünebilen sayıların toplamını hesaplayan while döngüsü yazınız.
int main()
{
int i = 1, sum = 0;
while (i <= 99) {
if (i % 3 == 0)
sum += i;
i++;
}
printf("The sum is : %d", sum);
return 0;
}
b) x = 5 ve y = 7 değerleri için aşağıdaki programların ekran çıktısı ne olur?
OUTPUT
if (x *y == 50)
{
if (x < 7)
{
if (x<5)
x = x + 5;
else x = x - 5;
}
}
else if (x*y == 40)
x = x + 7;
else
{
if (y > 5)
x = x + 3;
else x = x - 3;
}
8
OUTPUT
switch (x - y / 2)
{
case 0:
case 1:
x = x + 3;
break;
case 2:
{
if (y / 3 > 2)
x = x + 6;
else
x = x + 5;
}
break;
default:
x = x + 9;
}
printf("%d", x);
10
printf("%d", x);
c) 100 – 300 arasında 4 ile bölünebilen sayıların toplamını hesaplayan for döngüsü yazınız.
int main()
{
int i, sum = 0;
for (i = 101; i < 300; i++) {
if (i % 4 == 0)
sum += i;
}
printf("The sum is : %d", sum);
return 0;
}
1
Örnek Soru 2: Aşağıdaki program parçacığının ekran çıktısı ne olur?
float item, num;
int i = 3;
item = 24 / i++;
num = 24 / ++i;
printf("%4.1f % 2d", item, i);
printf("%4.1f % 2d", num, i);
Cevap:
8
.
0
5
4
.
0
5
Örnek Soru 3:
Kullanıcıdan iki sayı (n1 ve n2) alıp, bu sayıları alt ve üst limit olarak kullanan (n1 < n2), daha sonra
kullanıcıdan 100 tane sayı alıp, bunlardan n1 ve n2 arasında olanların tek ve çift olanların sayısını ekrana
basınız.
Örnek çalıştırma (italik değerler kullanıcı tarafından girilmiştir)
Alt limiti giriniz: 48
Üst limiti giriniz: 174
Bir sayı giriniz: 84
Bir sayı giriniz: 33
Bir sayı giriniz: 244
……
……
girilen sayılar arasında 44 tanesi 48 ile 174 arasındadır.
Bunlardan 24 tanesi tek, 20 tanesi çift sayıdır.
Çözüm:
int main()
{
int n1, n2;
int sayi, i;
int tek = 0, cift = 0, count = 0;
printf("Iki
printf("Alt
scanf("%d",
printf("Üst
scanf("%d",
sayı giriniz, bunlardan birincisi ikincisinden küçük olsun\n");
limiti giriniz>");
&n1);
limiti giriniz>");
&n2);
for (i = 0; i < 100; i++) {
printf("Bir sayı giriniz>");
scanf("%d", &sayi);
if ((n1 < sayi) && (n2>sayi)) {
if (sayi % 2 == 0)
cift++;
else
tek++;
count++;
}
}
printf("girilen sayılar arasında %d tanesi %d ile %d arasındadır.", count, n1, n2);
printf("Bunlardan %d tanesi tek, %d tanesi çift sayıdır.", tek, cift);
return 0;
}
2
Örnek Soru 4:
3 basamaklı sayılar için aşağıdaki koşulu sağlayıp sağlamadığını kontrol eden bir program yazınız.
klm = k3 + l3 + m3
Örneğin = 153 = 13 + 53 + 33
Örnek çalıştırma (italic değerler kullanıcı tarafından girilmiştir)
Bir sayı giriniz: 153
153 gerekli şartı sağlamaktadır.
…….
…….
Çözüm:
int main()
{
int sayi;
int birler, onlar, yuzler;
printf("Bir sayi giriniz: ");
scanf("%d", &sayi);
birler = sayi % 10;
onlar = ((sayi % 100) - birler)/10;
yuzler = (sayi / 100);
printf("birler: %d\nonlar: %d\nyuzler: %d\n",birler,onlar,yuzler);
if(sayi == (pow(birler,3) + pow(onlar,3) + pow(yuzler,3)))
printf("%d gerekli sarti saglamaktadir.",sayi);
else
printf("%d gerekli sarti saglamiyor.",sayi);
return 0;
}
Örnek Soru 5:
Aşağıdaki programın çıktısı ne olur?
void func1(int p, int z);
int main(void)
{
int x = 2, y = 4;
func1(y, x);
printf("%3d%3d\n", x, y);
func1(x, y);
printf("%5d%5d\n", x, y);
return (0);
}
void func1(int p, int q)
{
q = 3 + q;
p = q++;
printf("%4d%4d\n", p, q);
}
3
Download