输出一个数的逆序数,及其位数

7-13 输出一个数的位数及其逆序数 (12分)
 

从键盘输入一个正整数(不超过9位,即最多9位),要求编程实现以下功能:

① 求出这个数是几位数,并输出其位数;

② 输出这个数的逆序数。

输入格式:

输入一个正整数(不超过9位,即最多9位)。

输出格式:

输出刚刚输入的正整数,包含的位数及其逆序数,中间用英文逗号分隔开,最后换行。

输入样例:

147258369
 

输出样例:

147258369,9,963852741

我之前已知是这样写的

#include<bits/stdc++.h>
using namespace std;
int rev_num(int x);
void fun(int x, int &digit, int &rev)
{
    int a[20];
    int i = 0;
    while(x > 0)
    {
        a[i++] = x%10;
        x/=10;
    }
    digit = i;
    rev = 0;
    for(int i = 0; i < digit; i++)
    {
        rev += a[i];
        if( i !=digit-1)
            rev*=10;
    }
}

int main()
{
    int x;
//    while(cin>>x)
    cin>>x;
    {
        int digit = -1;
        int rev = -1;
        fun(x,digit, rev);
        cout<<x<<','<<digit<<','<<rev<<endl;
    }

    return 0;
}

 

 

这是改进后的

#include<bits/stdc++.h>
using namespace std;
int rev_num(int x);
void fun(int x, int &digit, int &rev)
{
    digit = 0;
    rev = 0;
    while(x > 0)
    {
        rev = rev*10 + x%10;
        x/=10;
        digit++;
    }
}

int main()
{
    int x;
    cin>>x;
    {
        int digit = -1;
        int rev = -1;
        fun(x,digit, rev);
        cout<<x<<','<<digit<<','<<rev<<endl;
    }

    return 0;
}

 

原文链接: https://www.cnblogs.com/zhang-zsq/p/12877220.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    输出一个数的逆序数,及其位数

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/348058

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午4:51
下一篇 2023年3月2日 上午4:52

相关推荐