前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >1086 就不告诉你 (15 分)

1086 就不告诉你 (15 分)

作者头像
可爱见见
发布2019-11-18 23:07:17
7630
发布2019-11-18 23:07:17
举报
文章被收录于专栏:卡尼慕卡尼慕

1086 就不告诉你 (15 分)

做作业的时候,邻座的小盆友问你:“五乘以七等于多少?”你应该不失礼貌地围笑着告诉他:“五十三。”本题就要求你,对任何一对给定的正整数,倒着输出它们的乘积。

输入格式:

输入在第一行给出两个不超过 1000 的正整数 A 和 B,其间以空格分隔。

输出格式:

在一行中倒着输出 A 和 B 的乘积。

输入样例:

代码语言:javascript
复制
5 7

输出样例:

代码语言:javascript
复制
53

【我的代码】

代码语言:javascript
复制
 1#include <iostream>
 2#include <string>
 3#include <algorithm>
 4using namespace std;
 5char res[10000005];
 6int main(){
 7    long a, b;
 8    cin>>a>>b;
 9    long tmp = a * b;
10    while(tmp % 10 == 0){
11        tmp /= 10;
12    }
13    sprintf(res, "%ld", tmp);
14    int index = 1, count = 0;
15    while(index < tmp){
16        index *= 10;
17        count++; //记录位数
18    }
19    for(; count >= 0; count--){
20        if(res[count-1] != ' '){
21            cout<<res[count-1];         
22        }
23    }
24    return 0;
25}

【思路】

题目要求比较简单,对两个输入的数相乘后逆序输出即可。主要难点是如何处理逆序问题。

这里采用了转换成字符数组的形式完成。

代码语言:javascript
复制
sprintf(res, "%ld", tmp);

该方法第一个参数是字符数组,第二个参数是转化前的形式,第三个参数是对应的整型变量。这简直帮了大忙了!

但是由于使用的是直接逆序输出,没有使用reverse,所以这里需要统计字符串的长度。计算方法也很简单,就不断乘10,跟1,10,100对比,来确定这个数是多少位的。

最后确定完多少位后进行输出就完成啦!

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-15,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 卡尼慕 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 输入格式:
  • 输出格式:
  • 输入样例:
  • 输出样例:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com