1086 就不告诉你 (15 point(s))
做作业的时候,邻座的小盆友问你:“五乘以七等于多少?”你应该不失礼貌地围笑着告诉他:“五十三。”本题就要求你,对任何一对给定的正整数,倒着输出它们的乘积。
输入格式:
输入在第一行给出两个不超过 1000 的正整数 A 和 B,其间以空格分隔。
输出格式:
在一行中倒着输出 A 和 B 的乘积。
输入样例:
5 7
输出样例:
53
分析:
1,输入的是不超过 1000 的两个整数,故用 int 即可。
2,把两个整数乘积得到 multiply 。
3,把积的各位转为数组。如整数 35 ,放到数组为 s[0]=5; s[1]=3 。
4,输出从数组 s[i] != 0 的位开始输出,不然有两个 case 通不过。如 10*32 = 320,输出应该为 23,非023 。
详细代码:
#include <iostream>
using namespace std;
// 1086 就不告诉你 (15 point(s))
int main(void){
int a,b,multiply;
cin>>a>>b;
multiply = a*b;
int t=0,s[20]={0x00};
while(multiply!=0){ // 把整数各位放到数组中
s[t++] = multiply%10;
multiply /= 10;
}
bool flag=false;
for(int i=0;i<t;++i){
if(s[i]!=0){ // 从数组开头不为 0 开始输出
flag = true;
}
if(flag==true){
cout<<s[i]; // 如 10*23 应该输出32,不是输出032
}
}
return 0;
} // guangjinzheng 2019.1.10 12:21