Οδηγός Μελέτης - Εισαγωγή στον Προγραμματισμό

Α5.11 · Η συνάρτηση mystery

Εξέταση Ιουνίου 2026, Θέμα 1 · Δυσκολία ★☆☆ · trace · Κεφάλαια: 5, 6

Η Συνάρτηση mystery (15 Μονάδες)

Η συνάρτηση mystery δέχεται ως όρισμα έναν ακέραιο αριθμό που αποτελείται από τα 3 τελευταία ψηφία του sdi σας. Για παράδειγμα, αν ο sdi σας είναι ο sdi2500789 τότε καλούμε την συνάρτηση ως mystery(789). Τι θα τυπώσει η συνάρτηση για τα ψηφία του δικού σας sdi; Αν δεν έχετε sdi, επιλέξτε έναν τυχαίο τριψήφιο. Αιτιολογήστε όπου νομίζετε πως χρειάζεται.

int mystery(int number) {
  int i = 0;
  while(number > 4) {
    printf("Loop %d: %d\n", i++, number);
    number >>= 2;
  }
  printf("Result: %c\n", '0' + number);
  return number;
}

Υπόδειξη

Το number >>= 2 για θετικό ακέραιο ισοδυναμεί με ακέραια διαίρεση με το 4. Κρατήστε έναν πίνακα με τις τιμές των i και number σε κάθε επανάληψη, προσέχοντας ότι το i++ τυπώνει την τιμή πριν την αύξηση. Στο τέλος, σκεφτείτε ποιος χαρακτήρας αντιστοιχεί στον κωδικό ASCII '0' + number όταν το number είναι μεταξύ 0 και 4.

Αριθμός στον οδηγό: Α5.11 (στο κεφάλαιο) · Μόνιμο αναγνωριστικό: exam-2026-jun-q1 · Σύνδεσμος: https://progintro.github.io/study/questions/exams/exam-2026-jun-q1.html · Markdown (GitHub)