عند البرمجة بلغة سي ، غالبا ما يكون من الضروري تفكيك الأرقام إلى أرقام فردية. تتمثل إحدى المهام الشائعة في هذا المجال في إخراج الرقم الأول من الرقم.
يعتمد الحل المقترح هنا على استخدام عمليات القسمة والمعامل. لطباعة الرقم الأول من الرقم ، يجب عليك تطبيق عملية القسمة مرتين. أولا ، يتم تقسيم الرقم على الحد الأقصى للقدرة وهو عشرة ، وهو أقل من أو يساوي الرقم المحدد. ثم يتم تقسيم الجزء الصحيح الناتج من نتيجة القسمة على 10.
باستخدام هذه الطريقة ، يمكنك بسهولة كتابة وظيفة من شأنها إخراج الرقم الأول من رقم في اللغة ج. لمزيد من الوضوح ، يمكن أن تكون النتيجة الإخراج باستخدام وظيفة برينتف.
نموذج التعليمات البرمجية:
# تشمل
كثافة العمليات الرئيسية () {
عدد الباحث = 123456;
الرقم الأول = الرقم;
بينما (الرقم الأول >= 10) {
الرقم الأول / = 10;
}
برينتف ("الرقم الأول من الرقم: ٪ د" ، الرقم الأول);
العودة 0;
}
- إخراج الرقم الأول من الرقم في ج: حل بسيط
- القسم 1: المشكلة الرئيسية للمهمة
- القسم 2: الطريقة 1: استخدام المعامل والقسمة
- القسم 3: الطريقة 2: استخدام السلاسل والسلاسل الفرعية
- القسم 4: الطريقة 3: استخدام الدورة والقسمة
- القسم 5: أمثلة وتعليقات على كل طريقة
- القسم 6: مقارنة فعالية الأساليب
- سؤال وجواب
- كيف يمكنني إخراج الرقم الأول من رقم في لغة البرمجة ج?
- هل من الممكن إخراج الرقم الأول من الرقم دون استخدام عملية القسمة في ج?
- ما هي مزايا استخدام عملية القسمة للحصول على الرقم الأول من الرقم في ج?
إخراج الرقم الأول من الرقم في ج: حل بسيط
أحد الأسئلة الشائعة في ج البرمجة هو إخراج الرقم الأول من الرقم. هناك عدة طرق لحل هذه المشكلة ، في حين أن بعضها يتطلب عمليات أكثر تعقيدا ، والبعض الآخر يتطلب عمليات أبسط. يمكن تحقيق حل بسيط لهذه المشكلة باستخدام عمليات حسابية بسيطة.
- .
- . نتيجة لذلك ، نحصل على الرقم الأخير من الرقم.
- .
في ما يلي مثال كامل لبرنامج ج الذي ينفذ إخراج الرقم الأول من الرقم:
# تشمل
كثافة العمليات الرئيسية () {
عدد الأسطوانات = 12345 ؛ / / الرقم الأولي
إنت فيرستديجيت;
بينما (الأسطوانات >= 10) {
الأسطوانات / = 10;
}
الرقم الأول = الأسطوانات;
برينتف ("الرقم الأول من الرقم: ٪ د
"،الرقم الأول);
العودة 0;
}
وعرض قيمته على الشاشة.
هذا حل بسيط لإخراج الرقم الأول من رقم في ج. لا يتطلب استخدام خوارزميات معقدة أو مكتبات محددة. ومع ذلك ، يجب أن نتذكر أن هذا الحل يعمل فقط للأرقام ذات القيم الموجبة.
الباب 1: المشكلة الرئيسية في المهمة
إحدى المهام الشائعة في البرمجة هي الحصول على الرقم الأول من الرقم. في ال لغة البرمجة ج ، حيث يتم تمثيل الأرقام كسلسلة من الأرقام ، يمكن تحقيق ذلك بعدة طرق. المشكلة الرئيسية للمشكلة هي تحديد الحل الأبسط والأكثر فعالية للحصول على الرقم الأول من رقم معين.
يمكن استخدام خوارزميات وأساليب مختلفة لحل هذه المشكلة. يتضمن بعضها استخدام العمليات الحسابية ، بينما يتضمن البعض الآخر وظائف السلسلة. ومع ذلك ، لتحقيق أبسط حل ، فمن الضروري أن تأخذ في الاعتبار القيود المفروضة على لغة البرمجة ج وقدراتها للعمل مع الأرقام.
القسم 2: الطريقة 1: استخدام المعامل والقسمة
الطريقة الثانية لعرض الرقم الأول من الرقم في ج يتضمن استخدام المعامل وعمليات القسمة. للحصول على الرقم الأول من الرقم ، يجب عليك أولا الحصول على القيمة المطلقة للرقم ثم تطبيق عملية القسمة.
خطوات لحل المشكلة:
- احفظ الرقم في متغير.
- قم بتطبيق عملية المعامل للحصول على القيمة المطلقة للرقم.
- تطبيق عملية قسمة الرقم على 10.
- تقليل نتيجة القسمة إلى عدد صحيح.
- عرض القيمة المستلمة على الشاشة.
نموذج التعليمات البرمجية:
# تشمل
# تشمل
كثافة العمليات الرئيسية () {
رقم إنت ، أبسنومبر ، فيرستديجيت;
برينتف ("أدخل رقم:");
المسح الضوئي ("٪د " ، والرقم);
القيمة المطلقة = القيمة المطلقة (عدد);
الرقم الأول = القيمة المطلقة % 10;
برينتف ("الرقم الأول من الرقم: ٪ د
"،الرقم الأول);
العودة 0;
}
في هذا المثال ، المتغير" رقم "يخزن الرقم الذي أدخله المستخدم ، المشغل" عبس () "يستخدم للحصول على القيمة المطلقة للرقم ، المشغل" ٪ "يستخدم للحصول على ما تبقى من قسمة الرقم على 10 ، ثم النتيجة هي الإخراج إلى وحدة التحكم باستخدام المشغل"برينتف ()".
القسم 3: الطريقة 2: استخدام السلاسل والسلاسل الفرعية
الطريقة الثانية لحل المشكلة هي استخدام السلاسل وعمليات السلسلة الفرعية. للحصول على الرقم الأول من الرقم ، يمكننا تحويل الرقم إلى سلسلة ، ثم أخذ الحرف الأول من تلك السلسلة. مثال على الكود:
| الخطوات: | كود |
| 1. | عدد الباحث = 12345; |
| 2. | الأمراض المنقولة جنسيا:: سلسلة نومبرستر = الأمراض المنقولة جنسيا:: إلى_سلسلة(عدد); |
| 3. | شار فيرستديجيت = نومبرستر [0]; |
القيمة هي 12345.
. تقوم هذه الوظيفة بتحويل قيمة عدد صحيح إلى سلسلة.
وتمرير الفهرس 0 للحصول على الحرف الأول.
إذن ، حصلنا على الرقم الأول من الرقم 12345 ، وهو 1.
هذه الطريقة سهلة التنفيذ وسهلة الفهم. ومع ذلك ، فإنه يتطلب تحويل رقم إلى سلسلة ، الأمر الذي قد يستغرق بعض الوقت عند العمل بأعداد كبيرة. دي من هذه الطريقة هي أيضا ليست مناسبة للعمل مع الأرقام السالبة.
القسم 4: الطريقة 3: استخدام الدورة والقسمة
هناك طريقة أخرى لطباعة الرقم الأول من الرقم في ج وهي استخدام حلقة وقسمة. للقيام بذلك ، نحتاج إلى الخطوات التالية:
- أعلن المتغير الذي سيتم تخزين الرقم فيه.
- نستخدم حلقة للحصول على الرقم الأخير من الرقم. في كل تكرار للحلقة ، سنقسم الرقم على 10 ونحتفظ بما تبقى من القسمة.
- بعد نهاية الحلقة ، سيبقى الرقم الأول من الرقم في المتغير.
- Выводим первую цифру числа на экран.
Ниже приведен пример кода на языке C, демонстрирующий этот метод:
#include
int main() {
int number, first_digit;
printf("Введите число: ");
scanf("%d", &number);
while (number >= 10) {
number = number / 10;
}
first_digit = number;
printf("Первая цифра числа: %d
", first_digit);
return 0;
}
الآن ، إذا قمت بتشغيل هذا البرنامج وإدخال رقم ، فإنه سيتم إخراج الرقم الأول من هذا العدد.
ملاحظة: تعمل هذه الطريقة فقط مع الأرقام الموجبة. إذا كنت ترغب في التعامل مع الأرقام السالبة أو أرقام الفاصلة العائمة ، فستحتاج إلى منطق إضافي.
الباب 5: أمثلة وتعليقات على كل طريقة
في هذا القسم ، سنلقي نظرة على أمثلة التعليمات البرمجية ونقدم تعليقات على كل طريقة للحصول على الرقم الأول من الرقم باللغة ج.
- في هذه الطريقة ، نستخدم العمليات الحسابية مثل القسمة وبقية القسمة للحصول على الرقم الأول من الرقم.
# تشمل
- إنت جيتفيرستديجيت (إنت نوم) {
- أرقام الباحث = (كثافة العمليات)سجل 10 (الأسطوانات);
الباحث المقسوم = (الباحث)الأسرى (10 ، أرقام);
- إنت فيرستديجيت = جيتفيرستديجيت (عدد);
- برينتف ("الرقم الأول من الرقم ٪ د: ٪ د
"،الرقم ، الرقم الأول);
العودة 0;
}
في هذا المثال ، نستخدم وظائف السجل 10 و بو من الرياضيات.ح مكتبة لحساب عدد الأرقام في عدد والمقسوم عليه. تقوم دالة السجل 10 بإرجاع لوغاريتم رقم استنادا إلى 10 ، وتقوم دالة الأسرى بإرجاع رقم مرفوع إلى قوة.