2

関数 isPalindrome を使用するようにプログラムを書き直す必要があります。5 桁の整数を入力してブール値 (回文の場合は true、そうでない場合は false) を返す必要があり、cout ステートメントを含めることはできません。cout 関数なしでこれを行う方法がわかりません。これが私のコードです:

#include <iostream>

using namespace std;

int main()
{
    int number, digit1, digit2, digit3, digit4, digit5;

    cout << "\nEnter a 5-digit integer: ";
    cin >> number;

//Break down input number into individual digits:
    digit1 = number / 10000;
    digit2 = number % 10000 / 1000;
    digit3 = number % 10000 / 100;
    digit4 = number % 10000 / 10;
    digit5 = number % 10;

    if ( digit1 == digit5 && digit2 == digit4 )
        cout << number <<" is a palindrome.\n";
             else
             cout << number << " is not a palindrome.\n";
             return 0;
         }
int isPalindrome ()
{

}
4

3 に答える 3

5

これはあなたが始めるのに役立つはずです(楽しみをあまり台無しにすることなく)

int main(){
    //accept integer input using cin
    if(isPalindrome(input))
       cout << "yaay!";
    else
       cout << "nooouuu!";

}

bool isPalindrome (int input)
{
   //test things here
   return ( digit1 == digit5 && digit2 == digit4 ) 
   // ^ returns true if condition satisfied
}

さらに、数字を区切る方法が正しくありません。そのはず:

digit1 = number/10000 % 10;
digit2 = number/1000 % 10;
digit3 = number/100 % 10;
digit4 = number/10 % 10;
digit5 = number % 10;

もちろん、上記は実際にはループになっているはずです。

于 2013-03-13T20:24:10.520 に答える