עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

סכימת מס' הספרות שיש במספר C.

Featured Replies

פורסם
  • מחבר

תכוון אותי עוד קצת..

פורסם

אוקי, הסברת למה עשית n/10 ולמה עשית ++cnt. לא הבנתי מה הקשר ל-n%10 כאן (אתה לא צריך לדעת מהי הספרה הימנית בשביל לספור שיש אחת כזו), ובכלל למה אתה משווה בין זה לבין cnt. תחשוב שהיית סופר כמה ילדים יש בכיתה - האם באמת אתה צריך לדעת איך קוראים להם בשביל לספור?

חוץ מזה, לא הבנתי למה אתה טוען שהקוד שלך לא עובד (חוץ מהדבר המוזר שעשית עם n%10, והעובדה שהפונקציה שלך לא מחזירה שום דבר, הקוד נראה בסדר גמור).

נ.ב. אל תתקמצן על אותיות, תקרא למשתנה שלך count ולא cnt.

פורסם
  • מחבר

void SumOfDig(signed n)
{
int count=0;
do
{
count++;
n=n/10;

}
while(n>0);
}

תקין?

פורסם

לא יודע, תריץ את הפונקציה ותראה.

רמז: מה אתה עושה עם count כשהפונקציה מסתיימת?

פורסם

למה מעניין אותך ערך הספרה אם כל מה שאתה רוצה זה מספר הספרות? או ששוב לא הבנתי מה אתה מנסה לעשות...

פורסם
  • מחבר

כן אני יודע, מדפיס אותו מן הסתם ;D ..

הרצתי את זה עכשיו וזה עובד מעולה.

תודה!!.

פורסם

אופצייה דומה היא לרוץ בלולאה ולבדוק האם עשר בחזקת i גדול מהמספר. בפעם הראשונה שכן אתה מחזיר את i.

אל תשכח שוב את מקרה המספר 0!

פורסם
  • מחבר

לא כ"כ הבנתי..

אתה יכול לתת לי דוגמה בקוד

פורסם

אופצייה דומה היא לרוץ בלולאה ולבדוק האם עשר בחזקת i גדול מהמספר. בפעם הראשונה שכן אתה מחזיר את i.

אל תשכח שוב את מקרה המספר 0!

לא יעבוד על מספר שלילי, אבל תמיד אפשר לעשות אבסולוט לאינפוט.

פורסם

omfir: לעבור בלולאה שכל פעם תגדיל את i ב-1, תחשב את 10 בחזקת i, ואז תבדוק אם התוצאה גדולה מ-n. אם כן, אז i הוא מספר הספרות. אחרת תמשיך בלולאה.

בכל מקרה זה לא מומלץ, כי אפשר להגיע ל-overflow (אם n מכיל את מספר הספרות המקסימלי ש-int יכול להכיל).

פורסם

צודק, ב-C הטיפוס int יכול להיות זהה ל-long int.

בכל מקרה, השתמשתי בפונקציה כזאת היום:


int numOfDigits(int num)
{
if (num==0)
{
return 1;
}
int counter=0;
while (num!=0)
{
num/=10;
counter++;
}
return counter;
}

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.