A*B = C,A和B最大值为9999. 要求输出如下
1234
* 121
————–
1234
2468
1234
= ————–
14 9 3 1 4
\#include \<iostream\>\
\#include \<iomanip\>\
using namespace std;\
\
/\*\
A\*B = C,A和B最大值为9999. 要求输出如下\
1234 \
\* 121\
--------------\
1234\
2468\
1234\
= --------------\
14 9 3 1 4\
\*/\
\
// 根据实际问题来,这又不是大数相乘,果断数组存储,最后相加.\
int main(){\
int a, b;\
cin \>\> a;\
cin \>\> b;\
\
int arr[4];\
memset( arr, 0, sizeof(int)\*4 );\
int i = 0;\
int tmpB = b;\
for( ; i \< 4; i++ ){\
if( tmpB == 0 ) break;\
int num = tmpB%10;\
arr[i] = a\*num;\
tmpB /= 10;\
}\
\
int c = 0;\
for( i--; i \>= 0; i-- )\
c = c\*10 + arr[i];\
\
cout \<\< setw(10) \<\< a \<\< endl;\
cout \<\< "\*" \<\< setw(9) \<\< b \<\< endl;\
cout \<\< setw(10) \<\< setfill('-') \<\< '-' \<\< endl;\
for( int i = 0; i \< 4; i++ ){\
if( arr[i] == 0 ) break;\
cout \<\< setw(10-i) \<\< setfill(' ') \<\< arr[i] \<\< endl;\
}\
cout \<\< '=' \<\< setw(9) \<\< setfill('-') \<\< '-' \<\< endl;\
cout \<\< setw(10) \<\< setfill(' ') \<\< c \<\< endl;\
}\
/\*\
1234\
121\
1234\
\* 121\
----------\
1234\
2468\
1234\
=---------\
149314\
请按任意键继续. . .\
\*/