2 תשובות
הייתי צריך ללכת רגע חזרתי להמשיך לענות לך.
אז מה שאתה צריך לעשות לדוגמה זה
תשנה את count מאפס ל1
min יכול להיות 9 ולא 9999 כי אומרים לך למצוא את הספרה הכי קטנה
while num > 0
digit = num % 10
if num % 2 == 0
if count % 2 != 0 זה בתוך הif
sum += digit
else
if count % 2 == 0
sum += digit
פה מחוץ ל2 התנאים פשוט בתוך הלולאה תעשה בדיקה של min-max
עכשיו מחוץ ללולאה תחשב את avg
פשוט sum / count
אז מה שאתה צריך לעשות לדוגמה זה
תשנה את count מאפס ל1
min יכול להיות 9 ולא 9999 כי אומרים לך למצוא את הספרה הכי קטנה
while num > 0
digit = num % 10
if num % 2 == 0
if count % 2 != 0 זה בתוך הif
sum += digit
else
if count % 2 == 0
sum += digit
פה מחוץ ל2 התנאים פשוט בתוך הלולאה תעשה בדיקה של min-max
עכשיו מחוץ ללולאה תחשב את avg
פשוט sum / count
שמע אחי הקוד כתוב לא ברור בכלל ויש מה לשפר בכתיבה הכללית, כי אני מאמין שבמבחנים אתה כותב על דף אז תשתדל לייעל ולחסוך בשורות איפה שאפשר.
בעיקרון הבעיה הראשונה שלך זה שאין בדיקת תקינות קלט כמו שביקשו ממך
אחרי הקלט תעשה if num < 0 תעשה איזה פרינט שיכניסו מספר חיובי.
שמתי לב שאתה בודק min-max פעמיים ואין טעם לזה כי במספר הספרה המינימלית או המקסימלית לא משתנה
החלק היחידי ששונה זה הממוצע
בעיקרון הבעיה הראשונה שלך זה שאין בדיקת תקינות קלט כמו שביקשו ממך
אחרי הקלט תעשה if num < 0 תעשה איזה פרינט שיכניסו מספר חיובי.
שמתי לב שאתה בודק min-max פעמיים ואין טעם לזה כי במספר הספרה המינימלית או המקסימלית לא משתנה
החלק היחידי ששונה זה הממוצע
באותו הנושא: