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;
}
目录
相关文章
|
数据库 数据安全/隐私保护
手把手教你搞定菜单权限设计,精确到按钮级别,建议收藏(一)
在实际的项目开发过程中,菜单权限功能可以说是后端管理系统中必不可少的一个环节,根据业务的复杂度,设计的时候可深可浅,但无论怎么变化,设计的思路基本都是围绕着用户、角色、菜单进行相应的扩展。
5616 0
手把手教你搞定菜单权限设计,精确到按钮级别,建议收藏(一)
|
7月前
|
存储 弹性计算 小程序
2026年阿里云服务器新手指南:配置选购、费用价格及使用全流程(图文教程)
本文手把手教你从零选购、购买并登录阿里云服务器,涵盖ECS与轻量应用服务器区别、核心配置参数、2026年最新优惠价格及远程登录方法,适合新手快速上手,30分钟轻松迈出上云第一步。
|
数据采集 监控 网络协议
【计算机网络】你真的懂学校的校园网吗?
在数字时代,计算机网络已经成为了现代社会不可或缺的一部分。而对于大多数人来说,校园网是我们日常生活中接触最频繁的网络之一,它为学校的师生提供了信息传输、资源共享和互联互通的基础设施。但是,尽管我们每天都在使用校园网,很少有人真正深入了解它的工作原理、安全性和管理细节。
6297 3
|
监控 Java API
Spring Boot中的异步革命:构建高性能的现代Web应用
【8月更文挑战第29天】Spring Boot 是一个简化 Spring 应用开发与部署的框架。异步任务处理通过后台线程执行耗时操作,提升用户体验和系统并发能力。要在 Spring Boot 中启用异步任务,需在配置类上添加 `@EnableAsync` 注解,并定义一个自定义的 `ThreadPoolTaskExecutor` 或使用默认线程池。通过 `@Async` 注解的方法将在异步线程中执行。异步任务适用于发送电子邮件、数据处理、外部 API 调用和定时任务等场景。最佳实践中应注意正确配置线程池、处理返回值和异常、以及监控任务状态,确保系统的稳定性和健壮性。
363 0
|
存储 监控 算法
一次通过dump文件分析OutOfMemoryError异常代码定位过程
OutOfMemoryError是Java程序中常见的异常,通常出现在内存不足时,导致程序无法运行。借助MAT内存分析工具分析可能的内存泄漏代码问题定位。
1105 1
一次通过dump文件分析OutOfMemoryError异常代码定位过程
|
数据可视化 C# 图形学
【推荐100个unity插件之18】Unity 新版输入系统Input System的基础使用
【推荐100个unity插件之18】Unity 新版输入系统Input System的基础使用
1878 0
|
消息中间件 Kafka API
Kafka - 图解生产者消息发送流程
Kafka - 图解生产者消息发送流程
722 0
|
Ubuntu 应用服务中间件 Shell
云服务器上关于分布式文件系统FastDFS的安装教程以及个人遇到的所有排坑
云服务器上关于分布式文件系统FastDFS的安装教程以及个人遇到的所有排坑
1104 0
|
IDE Java 开发工具
Idea 启动报错 failed to create jvmjvm path url或failed to create jvmerror code -1 jvm path
Idea 启动报错 failed to create jvmjvm path url或failed to create jvmerror code -1 jvm path
995 0
|
Ubuntu Linux iOS开发
ROS与操作系统版本对应关系
ROS与操作系统版本对应关系
6275 0