الانتقال إلى المحتوى الرئيسي

كيفية توسيع رقم في ج: طرق البرمجة الأساسية والأمثلة

لتوسيع عدد هو عملية تغيير ترتيب الأرقام في عدد بحيث تصبح في ترتيب عكسي. قد تكون هناك حاجة إلى هذه المهمة في البرمجة لحل المشكلات المختلفة ، على سبيل المثال ، للتحقق من رقم متناظر أو لإجراء بعض العمليات الحسابية.

في لغة البرمجة سي ، هناك طرق مختلفة لنشر رقم. الأكثر شعبية منهم هي استخدام الحلقات والعودية. في هذه المقالة ، سنلقي نظرة على طرق البرمجة الأساسية وأمثلة لنشر الأرقام.

الطريقة 1: استخدام حلقة

واحدة من أسهل الطرق لتوسيع عدد في ج هو استخدام حلقة لعكس ترتيب الأرقام في عدد. للقيام بذلك ، نحتاج إلى متغير لتخزين الرقم المعكوس ومتغير للتكرار من خلال أرقام الرقم الأصلي.

الطريقة 2: استخدام العودية

هناك طريقة أخرى لتوسيع رقم وهي استخدام دالة تكرارية. العودية هي عملية استدعاء دالة نفسها. لنشر رقم بشكل متكرر ، سنحتاج إلى التحقق مما إذا كان الرقم موجبا أم سالبا ، واستدعاء وظيفة النشر للأرقام المتبقية من الرقم.

في هذه المقالة ، قمنا بمراجعة الطرق الرئيسية لنشر الأرقام في لغة البرمجة ج وقدمنا أمثلة برمجة لكل منها. يمكنك استخدام هذه الطرق لحل المشكلات المختلفة المتعلقة بمعالجة الأرقام في البرمجة.

  1. الطرق الرئيسية لتوسيع عدد في ج
  2. طريقة الكشف عن رقم باستخدام حلقة
  3. طريقة الكشف عن رقم باستخدام العودية
  4. مثال على برنامج ج لتوسيع رقم باستخدام حلقة
  5. مثال على برنامج ج لتوسيع عدد باستخدام العودية
  6. سؤال وجواب
  7. كيف يمكنني توسيع عدد في ج?
  8. ما هي الطرق الرئيسية لعكس الرقم في ج?
  9. هل من الممكن لتوسيع عدد دون استخدام ذاكرة إضافية في ج?
  10. ماذا سيكون نتيجة لعكس عدد 12345?
  11. هل من الممكن توسيع رقم سالب في ج?

الطرق الرئيسية لتوسيع عدد في ج

في البرمجة ، غالبا ما يكون من الضروري توسيع رقم ، أي عكس ترتيب الأرقام في الرقم. في ج ، يمكنك استخدام عدة طرق للقيام بذلك:

  1. برينتف ("٪ج
  2. عدد الباحث = 12345;
  3. # تشمل

رقم عكس الفراغ (رقم كثافة العمليات) {

  1. إذا (رقم != 0) {
    • الرقم الدولي = الرقم % 10;
  2. برينتف ("٪د

"،أرقام);

الرقم العكسي (رقم / 10);

}

}

كثافة العمليات الرئيسية () {

عدد الباحث = 12345;

}

يعتمد اختيار طريقة عكس الرقم في ج على المهمة المحددة وتفضيلات المبرمج وكفاءة الكود المطلوبة. كل من هذه الطرق لها مزاياها وعيوبها ، لذلك من المهم اختيار الخيار المناسب لهذا الموقف.

  1. طريقة الكشف عن رقم باستخدام حلقة
  2. هناك طرق مختلفة لتكشف عن رقم ، واحد منها يستخدم حلقة. تتيح لك هذه الطريقة الحصول على الرقم العكسي عن طريق التراجع عن أرقامه.
  3. يمكن تنفيذ عملية الكشف عن رقم باستخدام حلقة على النحو التالي:
  4. قم بإنشاء متغير لتخزين الرقم الموسع.
  5. تهيئة هذا المتغير مع صفر.

بدء حلقة من شأنها أن تعمل حتى الرقم الأصلي هو صفر.

داخل الحلقة:

أوجد ما تبقى من قسمة الرقم الأصلي على 10-سيكون هذا هو الرقم الأخير من الرقم.

اضرب الرقم الموسع في 10 وأضف الرقم الموجود إليه.

اقسم الرقم الأصلي على 10 لإزالة الرقم الأخير.

بعد اكتمال الحلقة ، سيحتوي الرقم الموسع على الرقم العكسي.

هنا مثال على برنامج ج تنفيذ هذه الطريقة:

# تشمل

إنت ريفيرنومبر (إنت ن) {

الباحث عكس = 0;

بينما (ن != 0) {

الرقم الدولي = ن ٪ 10;

عكس = عكس * 10 + أرقام;

ن / = 10;

}

عودة عكس;

}

كثافة العمليات الرئيسية () {

عدد كثافة العمليات;

برينتف ("أدخل رقم:");

المسح الضوئي ("٪د " ، والرقم);

إنت عكس عدد = عكس عدد (عدد);

برينتف ("الرقم الموسع: ٪ د

"،رقم معاكس);

العودة 0;

}

يقرأ هذا البرنامج الرقم باستخدام

وظيفة المسح الضوئي

، يستدعي دالة الرقم العكسي

لعكس الرقم ويعرض النتيجة على الشاشة.

على سبيل المثال ، إذا قمت بإدخال الرقم 12345 ، فسيقوم البرنامج بإخراج الرقم الموسع 54321.

باستخدام طريقة الكشف عن رقم باستخدام حلقة ، يمكنك بسهولة الحصول على الرقم العكسي وإجراء عمليات مختلفة معه.

طريقة الكشف عن رقم باستخدام العودية

العودية هي العملية التي تستدعي فيها الوظيفة نفسها. يمكن أن يكون مفيدا جدا للمهام المختلفة ، بما في ذلك فك تغليف الأرقام — عملية الحصول على رقم بترتيب عكسي.

لتوسيع رقم باستخدام العودية ، يمكننا استخدام الخوارزمية التالية:

تحويل الرقم إلى سلسلة لسهولة المعالجة.

إذا كان طول السلسلة 1 (يتكون الرقم من رقم واحد) ، فإننا نعيد هذا الرقم.

خلاف ذلك ، قسم الرقم على الرقم الأول والباقي من الرقم.

استدعاء الدالة بشكل متكرر ، وتمرير ما تبقى من الرقم والجمع بين الباقي الموسع والرقم الأول.

نتيجة لذلك ، نحصل على رقم موسع.

Вот пример программы на языке C, реализующий этот метод:

#include

#include

int reverseNumber(int n) {

// Преобразуем число в строку

char str[20];

sprintf(str, "%d", n);

// Развертываем число с помощью рекурсии

if (strlen(str) == 1) {

return n;

} else {

int firstDigit = str[0] - '0';

int rest = atoi(str + 1);

int reverseRest = reverseNumber(rest);

return reverseRest * 10 + firstDigit;

}

}

int main() {

int number = 12345;

int reversedNumber = reverseNumber(number);

برينتف ("الرقم الموسع: ٪ د

"،رقم معاكس);

العودة 0;

}

في هذا المثال ، نستخدم دالة الرقم العكسي ، والتي تأخذ رقما وتعيد نسختها الموسعة. نبدأ بتحويل رقم إلى سلسلة باستخدام دالة سبرينتف. ثم نتحقق من طول السلسلة-إذا كانت تساوي 1 ، فإن الرقم يتكون من رقم واحد ونعيده. خلاف ذلك ، نقسم الرقم على الرقم الأول والباقي من الرقم ، ونسمي الدالة بشكل متكرر ، ونمرر باقي الرقم. نتيجة لذلك ، نحصل على رقم موسع بإضافة الباقي الموسع والرقم الأول مضروبا في 10.

سيكون إخراج البرنامج في هذا المثال كما يلي:

الرقم الموسع: 54321

لذلك قمنا بتوسيع الرقم 12345 باستخدام العودية وحصلنا على 54321.

مثال على برنامج ج لتوسيع رقم باستخدام حلقة

وفيما يلي مثال على برنامج ج الذي يوسع عدد معين باستخدام حلقة:

  1. # تشمل
  2. كثافة العمليات الرئيسية () {
  3. عدد الأسطوانات ، رقم معاكس = 0 ، الباقي;

برينتف ("أدخل عددا صحيحا:");

المسح الضوئي ("٪د"،#);

بينما (الأسطوانات != 0) {

الباقي = الأسطوانات ٪ 10;

رقم معاكس = رقم معاكس * 10 + الباقي;

الأسطوانات / = 10;

}

برينتف ("الرقم الموسع: ٪ د

"،عكس_رقم);

العودة 0;

}

في هذا المثال ، يقرأ البرنامج عددا صحيحا باستخدام وظيفة المسح الضوئي () ويخزنها في متغير الأسطوانات. ثم يتم تنفيذ حلقة بينما حتى يصبح عدد الأسطوانات صفر. داخل الحلقة ، يتم الحصول على ما تبقى من قسمة الرقم على 10 باستخدام عامل٪. يضاف الباقي الناتج إلى المتغير المعكوس ، والذي تبلغ قيمته في البداية صفرا. ثم يتم قسمة الرقم على 10 للحصول على الرقم التالي من الرقم. تتكرر العملية حتى يتم تحليل جميع أرقام الرقم.

في نهاية البرنامج ، يتم عرض الرقم الموسع باستخدام وظيفة برينتف ().

مثال على برنامج ج لتوسيع عدد باستخدام العودية