题解~按照特定的格式输出~C++做法

题目

描述:

给出一个不多于 5 位的整数,要求:

1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为 321,应输出 123

输入:

一个不大于5位的数字

输出:

一共三行,第一行:位数 第二行: 用空格分开的每个数字,注意最后一个数字后没有空格 第三行: 按逆序输出这个数

样例输入:

12345

样例输出:

5 1 2 3 4 5 54321

原题链接:http://www.dotcpp.com/oj/problem1009.html

解题思路:

先定义一个数组用来存放每一位数字,再定义一个 n 作为输入的数,接着定义一个 number 来记录是几位数。

定义一个 for 循环,n % 10 的值赋给 num[],这样就可以获取得最后一个数;n = n / 10 向前进位,n 是没有小数位的。此时 num[] 这个数组里面的数字和输入的顺序是相反的。

再定义一个 for 循环,倒过来输出 num[],记住用空格分开的每个数字,注意最后一个数字后没有空格。

最后按照 num[]的顺序输出,也就是逆序输出。

参考代码:

#include<iostream>
using namespace std;
int main()
{
    int num[5];  //定义一个有 5 个元素的数组
    int n;
    int number = 0; //记录数位
    cin >> n;  //获取输入的数
    for (int i = 0; i < 5; i++) {  //
        if (n == 0) break;  //如果输入的数为 0 则退出这个循环
        else {
            num[i] = n % 10;  //获取最后一位数,num[0] 为最后一个数,num[1] 是倒数第二个数
            n = n / 10;  //n 向前进 1 位,无小数点
            number++;
        }
    }
    cout << number << endl;  //输出数位
    for (int i = number - 1; i >= 0; i--) {
        if (i != 0) {  //如果 num[i] 不是最后一个数,则加一个空格
            cout << num[i] << " ";
        }
        else cout << num[i];  //输出最后一个数
    }
    cout << endl;  //换行
    for (int i = 0; i < number; i++) {
        cout << num[i];  //按照 num[i] 顺序输出
    }
    return 0;
}

本地运行结果如下图:

相关说明:

原题链接:http://www.dotcpp.com/oj/problem1009.html

点击阅读原文可以到我博客那查看这篇文章

题图:Photo by Ashley Bean on Unsplash

原文发布于微信公众号 - 伪君子的梦呓(beiyue_lbj)

原文发表时间:2018-08-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PHP在线

php的字符串常用函数

1. str_word_count 统计单词个数 2. count_chars 得到字符串里面字符的有关情况 3. str_len 得到字符串长度,就是...

48260
来自专栏前端吧啦吧啦

涨薪必备Javascript,快点放进小口袋!

14720
来自专栏chenjx85的技术专栏

leetcode-179-Largest Number(理解规则,自定义cmp函数进行排序)

1、这道题给定一个vector,里面存放着int类型的非负整数,要求把这些非负整数拼起来,尽可能拼成一个最大的整数。

20130
来自专栏GIS讲堂

面向对象的三个基本特征

封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。

19530
来自专栏racaljk

C语言中一些不被熟知的特性

限定词restricted用于限定一个指针(如名,告诉编译器该指针的内存访问在任何情况下都只能通过该指针进行,其余指向无效.如

12330
来自专栏大数据风控

R中字段抽取、字段合并、字段匹配

1、字段抽取 字段抽取,是根据已知列数据的开始和结束位置,抽取出新的列 字段截取函数:substr(x,start,stop) tel <- '1892225...

93390
来自专栏Coding迪斯尼

使用普拉特分析法解析极为复杂的算术表达式

12430
来自专栏HansBug's Lab

1798: [Ahoi2009]Seq 维护序列seq

1798: [Ahoi2009]Seq 维护序列seq Time Limit: 30 Sec  Memory Limit: 64 MB Submit: 2930...

31150
来自专栏web前端教室

不学不知道,sort()方法中的坑

今天的前端零基础课,在讲到js中的sort()排序方法的时候,说sort()这个方法在给数字排序的时候,根本不是按数字大小来排序的。 它是把数字都当成字符串来看...

197100
来自专栏趣谈编程

Unicode与UTF-8的区别

要弄清Unicode与UTF-8的关系,我们还得从他们的来源说起,下来我们从刚开始的编码说起,直到Unicode的出现,我们就会感觉到他们之间的关系

13920

扫码关注云+社区

领取腾讯云代金券