25.输入任意的正整数,将其各位分离出来;求它是几位数,求各位上数字的和,求其逆值

简介: 25.输入任意的正整数,将其各位分离出来;求它是几位数,求各位上数字的和,求其逆值

以下代码参考网上资料(需要好好研究研究)。。。

#include<iostream>
using namespace std;
 
int main()
{
    int m,n,i,j=1,k=0,a[20],x,y;
    cout<<"请输入一个整数:";
    cin>>m;//输入的数为m
    y=m;//先将m赋值给y,将原始输入的数保护起来
    for(i=1;;i++)//中间的判断条件可以不要,就变成了死循环
    {
        j*=10;
        n=m/j;
        a[i]=n;
        k++;//用于记录有几位数
        
        if(n<1)//循环退出条件
        {
            break;
        }
    }
    int b=1,c,d=0;
    for(i=1;i<=k;i++)
    {
        b*=10;
        //cout<<b<<endl;
    }
    cout<<"你输入的数字各位分别是:";
    for(i=k;i>0;i--)
    {
        b=b/10;
        c=m/b;
        m=m-c*b;
        d+=c;
        cout<<c<<"  ";
    }
    cout<<endl;
    cout<<"你输入的数字是"<<k<<"位数\n";
    cout<<"各位上的数字之和为:"<<d<<endl;
    x=0;
    do{
        x=x*10+y%10;
        y=y/10;
    }while(y!=0);
    cout<<"逆序输出为:"<<x;
    cout<<endl;
 
    return 0;
}

我的做法:

#include<iostream>
using namespace std;
 
int main()
{
    int n,p,q=1;
    int k=0,temp=1;
    int sum=0,sum1=0;
    int a[20];
    cout<<"please input an number : "<<endl;
    cin>>n;
 
    for(int i=0;i<20;i++)
    {
        a[i]=0;
    }
    for(int j=0;j<=20;j++)//这里错得刻骨铭心。。。把条件写成j<=n了
    {
        if(n!=0)
        {
            p=n%10;
            a[j]=p;
            cout<<p<<" "<<endl;
            n=n/10;
            k++;
        }
    }
    for(int k=0;k<=20;k++)
    {
        sum+=a[k];
    }
    for(int m=1;m<=k;m++)
    {
        temp*=10;
        a[k-m]*=(temp/10);
        sum1+=a[k-m];
    }
    cout<<"它是"<<k<<"位数"<<endl;
    cout<<"它各位数字之和为:"<<sum<<endl;
    cout<<"其逆值为:"<<sum1;
 
    return 0;
}
目录
相关文章
|
7月前
数一下 1到 100 的所有整数中出现多少个数字9并输出这些数字
数一下 1到 100 的所有整数中出现多少个数字9并输出这些数字
91 0
|
1月前
判断该数字是几位数
【10月更文挑战第22天】判断该数字是几位数。
17 3
|
7月前
|
C++
写一个函数,输入一个四位数字,要求输出这四位数字字符,但是每两个数字间空一个字符,如输入1990,输出1 9 9 0
这是一个C++代码段,用于打印整数的逆序。程序从用户输入接收一个整数,然后通过递归方法将其逆序输出。示例结果展示了一张图片,但因摘要限制无法显示。代码功能是将数字如12345逆序输出为54321。
58 0
|
3月前
|
C语言 Python
给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
238 2
|
7月前
|
C++
写一个函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空一个空格。如输入1990,输出1 9 9 0
这是一个C++代码片段,实现了一个函数`Print`,用于倒序打印整数。代码在`main`函数中读取用户输入的整数`n`,然后调用`Print`函数输出。示例运行结果显示了一张图片,显示了代码执行后的输出,但具体内容未提供。
145 0
|
6月前
|
存储
输⼊⼀个正整数,计算这个整数是几位数
输⼊⼀个正整数,计算这个整数是几位数
|
7月前
28.求任意一个整数的十位上的数字
28.求任意一个整数的十位上的数字
85 3
wustojc2001输出四位整数的各位数字
wustojc2001输出四位整数的各位数字
72 0
输入三个数字,从大到小输出
输入三个数字,从大到小输出
判断数字位数
判断数字位数
77 0