【题目链接】

ybt 1031:反向输出一个三位数
OpenJudge NOI 1.3 13:反向输出一个三位数

【题目考点】

1. 分离固定数位数字的各位上的数字

  • 先举例说明:
    对于三位数123,其个位的值为:123 % 10,值为3。
    123/10(整除运算),可以去掉其个位,得到12,而后12 % 10,可以得到123的十位2
    123/100即可得到其百位1
  • 对于一个一般的三位数a,其个位的值为a % 10,十位的值为a / 10 % 10, 百位的值为a / 100

2. (扩展)分离数字的各位

对于数字a,a%10可以取到其个位,a/=10(整除)可以去掉其当前个位。
重复这一过程,即可从低位到高位分离各位上的数字。
例:输入一个整数,从低位到高位输出其各位数字,并用空格分隔

int n;
cin>>n;
for(int a = n; a > 0; a /= 10)cout<<a % 10<<' ';

其原理是数制知识中的对数字做按位权展开

3. (扩展)把本题当做倒序输出字符串问题

  • 方法1:字符串倒序遍历
  • 方法2:用栈
  • 方法3:递归(实质也是栈)

【题解代码】

解法1:分离固定数位的数字的各位

#include <bits/stdc++.h>
using namespace std;
int main()
{int n;cin>>n;cout<<n%10<<n/10%10<<n/100;//n%10得到个位,n/10%10得到十位。n/100得到百位 return 0;
}

(扩展)解法2:分离任意数位数字的各位

#include <bits/stdc++.h>
using namespace std;
int main()
{int n;cin>>n;for(int a = n; a > 0; a /= 10)cout<<a % 10;return 0;
}

(扩展)解法3:倒序输出字符串

#include <bits/stdc++.h>
using namespace std;
int main()
{char s[5];cin>>s;int l = strlen(s);for(int i = l - 1; i >= 0; i--)cout<<s[i];return 0;
}

(扩展)解法4:使用栈,入栈出栈实现倒序

#include <bits/stdc++.h>
using namespace std;
int main()
{char c;stack<char> stk;for(int i = 0; i < 3; ++i)stk.push(cin.get());while(stk.empty() == false){cout<<stk.top();stk.pop();}return 0;
}

(扩展)解法5:递归实现倒序

#include <bits/stdc++.h>
using namespace std;
void func()
{char c = cin.get();if(c != EOF && c != '\n')//读到文件末尾或换行就不再递归调用 {func();cout.put(c);}
}
int main()
{func();return 0;
}

信息学奥赛一本通 1031:反向输出一个三位数 | OpenJudge NOI 1.3 13相关推荐

  1. 信息学奥赛一本通 1002:输出第二个整数 | OpenJudge NOI 1.1 02

    [题目链接] ybt 1002:输出第二个整数 OpenJudge NOI 1.1 02:输出第二个整数 [题目考点] 声明多个int型变量 cin输入变量 cin 后面用>>分隔要输入的 ...

  2. 信息学奥赛一本通 1171:大整数的因子 | OpenJudge NOI 1.6 13:大整数的因子

    [题目链接] ybt 1171:大整数的因子 OpenJudge NOI 1.6 13:大整数的因子 [题目考点] 1. 高精度 考察:高精模低精 高精度计算讲解 [解题思路] 先把参与运算的数字当成 ...

  3. 信息学奥赛一本通(1031:反向输出一个三位数)

    1031:反向输出一个三位数 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 66372     通过数: 40000 [题目描述] 将一个三位数反向输出,例如输入 ...

  4. JSK-T1011 反向输出一个三位数【入门】

    反向输出一个三位数 小蒜蒜有一个三位数,她想让聪明的你反向输出这个三位数. 输入格式 一个三位数 n (100≤n≤999). 输出格式 反向输出 n,要保留前导 0. 输出时每行末尾的多余空格,不影 ...

  5. 啊哈添柴挑战Java1016. 反向输出一个三位数

    啊哈添柴--挑战 1016. 反向输出一个三位数 import java.util.Scanner;/*** @author yinglongwu*/ //1016. 反向输出一个三位数 public ...

  6. 9,反向输出一个三位数(补3月9号未做题)

    小蒜蒜有一个三位数,她想让聪明的你反向输出这个三位数. 输入格式 一个三位数n (100≤n≤999). 输出格式 反向输出 n,要保留前导 0. 输出时每行末尾的多余空格,不影响答案正确性 样例输入 ...

  7. 信息学奥赛一本通C++语言——1031:反向输出一个三位数

    [题目描述] 将一个三位数反向输出,例如输入358,反向输出853. [输入] 一个三位数n [输出] 反向输出n [输入样例] 100 [输出样例] 001 代码 #include<cstdi ...

  8. 反向输出一个三位数(信息学奥赛一本通-T1031)

    [题目描述] 将一个三位数反向输出,例如输入358,反向输出853. [输入] 一个三位数n. [输出] 反向输出n. [输入样例] 100 [输出样例] 001 [源程序] #include< ...

  9. 1031:反向输出一个三位数

    时间限制: 1000 ms 内存限制: 65536 KB 提交数: 18788 通过数: 11536 [题目描述] 将一个三位数反向输出,例如输入358,反向输出853. [输入] 一个三位数n. [ ...

最新文章

  1. MongoDB 连接数高产生原因及解决
  2. [转]十天学习PHP之第一天(PHP)----基础知识
  3. tensorflow中使用tf.ConfigProto()配置Session运行参数GPU设备指定
  4. android餐厅管理系统,基于Android的餐厅管理系统的设计与实现
  5. Spring boot 多数据源
  6. html最小化位置不变,实现DIV相对于浏览器固定位置不变
  7. 拒绝“佛系”程序员!
  8. python类takes no arguments_Python构造函数报错:TypeError: People() takes no arguments
  9. 【react】 使用react 脚手架 创建项目
  10. 启用多CPU多线程,加快加速OpenJDK的编译办法
  11. 3个动作精准引流方法,放大操作,每天吸粉200+
  12. [python爬虫之路day4]:xpath基本知识lxml结合xpath进行数据分析爬取豆瓣电影
  13. 猜拳游戏(C语言-Linux-简单可视化)
  14. 血淋淋的BUG:波音在软件开发上错在哪里?
  15. 区块链治理:用编程迎接未来
  16. 华为手机连电脑当摄像头用_今天才知道,华为手机摄像头还能这样用!还不会用你买什么华为?...
  17. 线性代数[初等变换(一)]
  18. 2021年专插本计算机专业分数线预估,【参考】2016-2020年专插本省最低录取控制线预估2021年最低录取分数线是多少...
  19. 新浪微博松绑140字限制 内容和社交能否兼得?
  20. 聊聊group lasso

热门文章

  1. 高性能Javascript HTML集合访问的学习笔记
  2. 产品经理最重要的3个能力
  3. 1947-2020 NBA总冠军次数排行榜
  4. 隔离式BUCK之参数计算
  5. python 函数图_如何查看Python函数调用图 Ubuntu
  6. 一个秒杀系统,居然比八股文还好使!
  7. 又有程序员把产品经理给打了!
  8. 宕机了,Redis数据丢了怎么办?
  9. Java基础夺命连环16问
  10. 蚂蚁员工人均都能买一套杭州的房子了?!加油啊,打工人!