سؤال

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

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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top