本文章最後由 site-admin 於 2015-12-27 18:09 編輯 1.輸入四位數。每個數字個別+7 - > 分別 %10 - > 1,3互換 2,4互換
2.把1加碼後的數字(可能為3位數的0189或4位數)
現在要做的是第二點...輸入189可以順利跑出1234(正確),但其他答案就不行了...都跑出 X - XXXX ,不知道哪錯,請達人教導!
#include<iostream
using namespace std ;
int main ()
{
int i ;
int a ;
int b ;
int c ;
int d ;
cout << "Enter an encrypted number : " ;
cin >> i ;
if(i / 1000 == 0) {
a = 0 ;
b = i / 100 ;
c = i / 10 % 10 ;
d = i % 10 ;
a= 10;
if(b >= 7)
b = b ;
else
b += 10 ;
if(c >= 7)
c = c ;
else
c += 10 ;
if(d >= 7)
d = d ;
else
a += 10 ;
a -= 7 ;
b -= 7 ;
c -= 7 ;
d -= 7 ;
cout << c << d << a << b <<endl ;
}
else {
a= i / 1000 ;
b= i / 100 % 10 ;
c= i / 10 % 10 ;
d= i % 10 ;
if(a >= 7)
a = a ;
else
a += 10 ;
if(b >= 7)
b = b ;
else
b += 10 ;
if(c >= 7)
c = c ;
else
c += 10 ;
if(d >= 7)
d = d ;
else
a += 10 ;
a -= 7 ;
b -= 7 ;
c -= 7 ;
d -= 7 ;
cout << c << d << a << b <<endl ;
}
system ("PAUSE") ;
return 0 ;
}
JSD-Google [/img] :.| .. [/url] |