سؤال
كيف يمكنني قطع الأرقام الرائدة لرقم من أجل عرض آخر رقمين فقط ، دون استخدام المكتبة. فمثلا:
1923 إلى 23
2001 إلى 01
1234 إلى 34
123 إلى 23
مع فقط
#include <iomanip>
#include <iostream>
شكرًا!
المحلول
إذا كنت تعمل فقط مع الأعداد الصحيحة ، فإنني أقترح فقط القيام بـ Mod ٪ 100 من أجل البساطة:
int num =2341;
cout << num%100;
سوف يعرض 41.
وإذا كنت بحاجة إلى صفر قيادة فقط:
std::cout << std::setw(2) << std::setfill('0') << num%100 << std::endl;
نصائح أخرى
إذا كانت أرقامك في شكل INT (بدلاً من نموذج السلسلة) ، فيجب عليك التفكير في استخدام مشغل Modulo.
إذا كانت الأرقام في شكل char [] ، فهناك حل سهل يتضمن الفهرسة في السلسلة ، مثل:
char *myString = "ABCDE";
int lengthOfMyString = 5;
cout << myString[lengthOfMyString - 3]
<< myString[lengthOfMyString - 5]
<< myString[lengthOfMyString - 4];
//outputs the word CAB
لا تنتمي إلى StackOverflow