7 April 2017 Ege University Electrical and Electronics Engineering

advertisement
7 April 2017
Ege University Electrical and Electronics Engineering
2016-2017 Spring Semester Introduction to Computer Programming Laboratory
Quiz 2
Name Surname :
Student No
:
Signature
:
1) A person enters the amount of money that he/she wants to withdraw from ATM machine. The ATM
machine can only dispense bills of 10, 20, 50 and 100 TL. The withdraw amount must be multiple of 10.
The ATM machine dispenses the withdrawn amount so that, maximum number of the most valuable bill
is dispensed. Write C code for a program that outputs how many bills of an available value will be
dispensed after withdraw amount is entered.
Bir müşteri, ATM makinesine çekeceği paranın miktarını girmektedir. ATM makinesi, sadece 10, 20, 50 ve
100 TL’lik banknotlar verebilmektedir, çekilecek miktar, 10’un katı olmalıdır. Çekilmek istenen miktar, en
büyük banknottan en fazla sayıda olacak şekilde verilmektedir. Çekilecek miktar girildikten sonra, hangi
banknottan kaç adet verileceğini ekrana yazan program yazın.
Sample input:
Sample output:
240
380
2 x 100 TL
2 x 20 TL
3
1
1
1
x
x
x
x
25
100 TL
50 TL
20 TL
10 TL
#include <stdio.h>
int main(void)
{
int para, yuzluk, ellilik, yirmilik, onluk;
printf("Cekilecek miktari girin:\n");
scanf("%d", &para);
if(para % 10 != 0)
{
// Çekilecek miktar, 10'a tam bölünmüyor.
printf("Sadece 10 TL ve katlari!\n");
}
else
{
// Çekilecek miktar 10'a tam bölünüyor.
// Banknot adetleri hesaplanıyor.
yuzluk = para / 100;
para = para % 100;
ellilik = para / 50;
para = para % 50;
yirmilik = para / 20;
para = para % 20;
Only multiples of 10 TL.
onluk = para / 10;
para = para % 10;
// Banknot adetleri hesaplandı.
// Adetler ekrana yazılıyor.
if(yuzluk > 0)
printf("%d x 100 TL\n", yuzluk);
if(ellilik > 0)
printf("%d x 50 TL\n", ellilik);
if(yirmilik > 0)
printf("%d x 20 TL\n", yirmilik);
if(onluk > 0)
printf("%d x 10 TL\n", onluk);
// Adetler ekrana yazıldı.
}
return 0;
}
2) A positive integer of varying digit count is entered, i.e., 123 or 1234567890, … . Average of the
integer’s digits is computed. The average is displayed with 6 characters total and 3 digits visible after
decimal mark. Write C code.
Girilen bir pozitif tamsayının basamaklarındaki sayıların ortalamasını hesaplayan ve ortalamayı virgülden
sonra 3 basamak, toplam 6 karakter genişliğinde ekrana yazan bir program yazın.
Sample input:
Sample output:
12345
1002
Average of digits: 3.000
Average of digits: 0.750
#include <stdio.h>
int main(void)
{
unsigned int sayi, basamakSayisi = 0;
float basamaklarToplami = 0;
printf("Bir dogal sayi girin:\n");
scanf("%u", &sayi);
if(sayi == 0)
basamakSayisi = 1;
else
{
while(sayi > 0)
{
basamaklarToplami = basamaklarToplami + (sayi % 10);
basamakSayisi++;
sayi = sayi / 10;
}
}
printf("Basamaklar ortalamasi: %6.3f\n", basamaklarToplami/basamakSayisi);
return 0;
}
Download