题目描述
思路详解
一开始思路很简单,倒着输出很直接
printf("%d",n - n/10 *10);n/=10;
484超简单。。然而并没有这么简单。。因为10*10=100应该输出1而不是001,所以如果最开始一直是0要删掉呀
偷懒没用字符串,懒得转嚯嚯嚯,字符串转过来其实也超快!
代码如下
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
ios::sync_with_stdio(0);
int A, B;
cin >> A >> B;
int flag = 0;
int n = A*B;
if(n == 0)
printf("0");
while(n != 0)
{
int a;
a = n - n/10 * 10;
if(a != 0)
//有末尾不为0的数了
flag = 1;
if(a == 0 && flag != 1)
//一直都是0就不输出,直到有不为0的数出现,输出
;
else
printf("%d",a);
n = n/10;
}
return 0;
}
本文介绍了一种算法,用于解决倒序输出两个整数乘积的问题,特别关注去除连续零尾数,避免输出如001的情况。通过使用C++编程语言,详细展示了如何在输出过程中判断并跳过连续的零,直到遇到非零数字。

615

被折叠的 条评论
为什么被折叠?



