C++ 获取整数各位数字

【顺序程序】数字倒序 将四位数的四个数字设为s、d、f、g,然后一个个表示。从键盘输入一个四位整数,将其各位数字倒序输出。:倒序输出该四位数。 阅读详情

           设定输入正整数,获取各位数字。

           第一种方式:

           注意:

                    缺省为9位,比如说输入123,则输出(从个位向更高位输出)会是3 2 1 0 0 0 0 0 0,也就是说更高位会输出0。

 

            代码如下:

#include<iostream>
using namespace std;

const long a[]={10,100,1000,10000,100000,1000000,10000000,100000000,1000000000};

int main()
{
	long num;
	int digits,i;

	while(cin>>num)
	{
		for(i=0;i<9;i++)
		{
			digits=(num%a[i])/(a[i]/10);    //关键

			cout<<digits<<" ";
		}
		cout<<endl<<endl;
	}

	return 0;
}


        测试实例:

       

          第二种方式:

#include<iostream>
using namespace std;

const int p=10;  //注意

int main()
{
	int n,d;

	while(cin>>n)
	{
		while(n!=0)
		{
			d=n%p;

			cout<<d<<" ";

			n/=p;
		}
		cout<<endl;
	}

	return 0;
}

           第二种方式比第一种代价更小一点,不用开数组等,也更易理解点。并且,注意代码中的注释。如果修改p的值,比如改为2,则代码实现了十进制到二进制的转化。

   当然,有二点还需注意:①输出的数字从左到右是从低位到高位的。比如,p=2,输入4,则输出为0 0 1。②当p大于10时,有的位数要用A B C.....表示,代码中并未给出。

 

         第三种方式:

         严格来说这种方法并不能获得整数的各位数字,但却能简便地得到整数的总位数。所以,也就贴在这啦!

         代码如下:

#include<iostream>
#include<cmath>
using namespace std;

int main()
{
	int n;

	while(cin>>n)
	{
		double dig=log10(n);

		cout<<int(dig)+1<<endl;
	}

	return 0;
}

         分析:如果整数a的位数为n,则一定有10^n-1<=a<10^n。所以n=int(lg(a))+1。

 

ZUFEOJ平台【求一个整数的各位数字】 阅读详情

相关推荐

C++例题:输入一个正整数,统计该正整数的各位数字中零的个数,并求各位数字中的最大数

统计0的个数 题目描述 输入一个正整数,统计该正整数的各位数字中零的个数,并求各位数字中的最大数。 输入 一个正整数n(1<=n<=1000000) 输出 两个数,用空格隔开,分别为n的各位数字中0的个数以及各位数字中的最大数。 样例输入 9002 样例输出 2 9 #include <iostream> using namespace std; int main() { int n,t,count=0,max=0; cin >&gt.

zhengheda的博客 7654

c++两种方法求解数值中的每一位

郑州轻工业学院OJ 从键盘输入一个任意的三位正整数,分别求出其个位、十位和百位上的数字。 输入 输入任意的一个三位正整数。 输出 依次输出个位、十位、百位上的数字。以空格间隔,但最后一个数据的后面没有空格,直接换行。 分析: 方法1:利用取余符号,得出最低位(第n位)的值。利用c++语言特性,两整数相除,得出另一整数。得出次低位(第n-1位)的值,然后继续取余,反复循环,即可得出每一位的数值。 方...

qq_41823255的博客 7015

C/C++ 求一个整数的各位数字总和算法详解及源码

这种算法的优点是简单易懂,适用于任意大小的整数。但是,该算法的缺点是需要将整数转换为字符串,可能会占用较多的内存空间和时间。求一个整数的各位数字总和算法是指将一个整数的各个位上的数字相加,得到总和。

希望我的博客,能帮上你解决学习中工作中所遇到的问题 8668

C++语言基础:输出一个整数的个位十位百位上的数字

C++语言基础:输出一个整数的个位十位百位上的数字

坚韧与专注 3万+

分解数字输出各个位上的数字

分解数字输出各个位上的数字并判断是几位数

PubMedBERT:生物医学NLP中的垂直领域预训练实践与性能突破

本文深入探讨了PubMedBERT在生物医学NLP领域的应用与性能突破。作为专为生物医学文本设计的预训练模型,PubMedBERT通过全词掩码策略和BLURB基准测试,显著提升了命名实体识别、关系抽取等任务的准确率。文章还提供了PubMedBERT的实战应用案例和代码示例,展示了其在医学文献检索和电子病历结构化中的卓越表现。

kite3的博客 286

c++提取整数中的每一位数字

c++

tjh1998的博客 2万+

Ubuntu 24.04 部署 EMQX 5.8 开源版MQTT服务器:从零搭建到实战应用

本文详细指导如何在Ubuntu 24.04系统上部署EMQX 5.8开源版MQTT服务器。内容涵盖从环境准备、安装Erlang、下载安装包到启动服务的完整步骤,并提供了验证服务、配置网络防火墙以及通过WebSocket工具进行基础消息收发的实战方法,帮助用户快速搭建稳定、免费的物联网消息中间件。

weixin_29209825的博客 293

从键盘任意输入一个正整数,求它的位数,输出各位数字之和。

从键盘任意输入一个正整数,求它的位数,输出各位数字之和。

m0_65420451的博客 1万+

算法竞赛入门到进阶 --- 完整学习路线(含知识点讲解)

前言: 咳咳,接触算法竞赛也有一年了,却从来都没有进行过一次系统的学习,稀里糊涂的就这么搞了半年,如今,我决定认认真真的进行一次系统的复盘。嗯嗯,先把大体路线列出来,然后往后每天搞几篇,可能大三能完成,可能永远也不能写完这些,我只能慢慢来,一起共勉吧。冲了!(主要是太菜了,不系统学习下,怕是铜牌都拿不到呀!) 算法竞赛入门到进阶一、sort函数自定义排序二、c++容器的使用1.vector动态数组2.stack栈3.queue队列4.list链表5.set集合6.map映射三、二进制子集生成四、bfs.

qq_43514659的博客 2万+

Flink on k8s 环境搭建(一)

Flink on Yarn的环境搭建过程中,需要进行配置较多,且需要搭建zookeeper Hadoop Yarn 等相关组件,安装流程比较复杂,集群出现问题重新安装的流程也比较复杂,且Yarn的3个节点中 只能起了 3个resourceManager和1个NodeManager,Flink 作业申请资源时只能 向NodeManager的节点申请资源,整体有资源瓶颈的隐患(后继flink作业会越来越多),现在尝试进行Flink on k8s 的环境搭建。

wangqiaowq的博客 3413

求各位数字之和

输入一个正整数,求这个正整数的各位数字之和,输出其对1717求余的结果。一位正整数�a,�>0a>0且�<264−1a<264−1。�a各位数字之和对1717求余的结果。

SunArrebol的博客 495

rk3568 RGMII KSZ8795 MAC TO MAC

参考《Rockchip_Developer_Guide_Linux_MAC_TO_MAC_CN.pdf》

明天乌儿会歌唱 6496

编写函数求一个正整数的各个位数上的数字之和。

#include int pan(int x); using namespace std; void main() { int x,y; cin >> x; y = pan(x); cout << y; } int pan(int x) { int y=0; while (x > 0) { y += x % 10; x /= 10; }return y; }

南州博客 5438

【嵌入式DIY实例-ESP32篇】-智能花园助手

本文介绍了一个基于ESP32的智能花园监控系统。系统使用ESP-EYE摄像头开发板,集成了土壤湿度传感器、DHT22温湿度传感器和电磁阀等模块,实现植物生长环境监测与自动灌溉功能。硬件部分详细说明了各传感器的接线方式,软件部分展示了如何通过Firebase实现数据存储和远程监控。系统可实时采集土壤湿度、空气温湿度等数据,并通过摄像头监控植物状态,当检测到环境参数异常时,可自动控制水泵进行灌溉,为植物提供最佳生长环境。

视觉与物联智能 264

【YOLOv8改进[Conv]】使用OREPA助力V8更优秀

使用OREPA助力V8更优秀,降低训练成本,在不引入任何推理时间成本的情况下提高深度模型的性能。

静谧、淡雅 1918

卡码网C++基础课 |8. 奇怪的信

仅个人记录所用源自卡码网的C++基础课“这门C++基础课帮助编程零基础学员快速学习刷算法题所需要的基础语法知识,学完之后,再来刷代码随想录,或者自己去刷编程题,基本不会有语法方面的困惑了,可以帮助大家快速上手刷题。取模运算整数除法判断一个数字是否为偶数这节课学习了使用取模运算和整数除法来分解一个整数并获取其各位数字,取模运算是用来计算一个整数除以另一个整数后的余数,通常用于判断一个数是否能被另一个数整除,以及计算一些循环和条件操作的条件。

2301_76241275的博客 1026

L3自动驾驶时代,域控制器核心解析(第一篇:架构演进与五域基础)

本文作为L3域控制器系列的第一篇,核心梳理了3个关键内容:L3时代为什么必须用域控制器:解决分布式ECU的协同、算力、迭代难题;域控制器的演进路线:从分布式ECU→域集中式→中央计算平台;博世五域架构的核心解析:五大域的定位、功能与典型方案。后续将持续更新系列文章,重点覆盖:第二篇:L3对域控制器的关键技术要求(传感器、算力、线控、软件、通信);第三篇:域控制器全产业链拆解(上游芯片、中游器件、下游总成);第四篇:域控制器的产业机遇与国产替代进展。

getusushu的博客 553

C++计算一个整数的位数并分别存储每一位

//C++计算一个整数的位数并分别存储每一位 #include #include #include using namespace std; //获取一个int的位数 int GetNumDigits(int val) { int numDigits = 0; if (val == 0) return 1; while (val != 0)

编程碎片流 4004

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

c语言eps程序,c语言编程读入一个正整数eps,计算并输出 – 手机爱问

2008-11-06C语言编程输入一个整数,求它的各闲的无聊,随便过来看看~~~~环境:VS 2005C++版本:#include#includeusing namespace std;int main(){string InputNum;int d=0;int sum=0;bool IsDigit=true;cout>InputNum;while(d='0' && Inpu...

weixin_35353904的博客 1203

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

重庆大学c++7-2 位数和

7-2 位数和分数 10全屏浏览题目切换布局作者 葛亮单位 重庆大学输入一个4位整数,求各个位上的数字之和。

mo_zhongzhou的博客 1079

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

输入一个整数求其各位数字的平方和c语言,C++程式输入一个长整数,求各位数字的平方和...

C++程式输入一个长整数,求各位数字的平方和以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!C++程式输入一个长整数,求各位数字的平方和#include "stdafx.h"#include #include #include using namespace std;void main(){ string numb...

weixin_39519769的博客 6366

C++作业 输入任意正整数求各位数字之和

#include <iostream> using namespace std; //编写人:19 软件1 谢隆恩 //学号:1998050046 int main() { cout << "请输入一个正整数:" << endl;//屏幕显示提示 int num, x = 1, n = 0, i, sum; cin >> nu...

qq_18509593的博客 1万+

利用C++,求一个整数各位之和或者各位平方之和

给定一个整数n, 当n%10会得到整数的最右边一位数字,当n/10会得到除最右边一位的其他位数字。重复% 和 / 会得到每一位数字。

m0_54168193的博客 2675

c++实验1 7-4 求整数的位数及各位数字之和

7-4 求整数的位数及各位数字之和 (15 分) 对于给定的正整数N,求它的位数及其各位数字之和。 输入格式: 输入在一行中给出一个不超过10 ​9 ​​ 的正整数N。 输出格式: 在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。 输入样例: 321 输出样例: 3 6 代码如下: #include &lt;iostream&gt; using namespace std; int m...

Skyed_blue的博客 6599

C++ 求 3 位整数各位数字之和

C++ 基本输出 输入任意一个3位整数,将各位数字分离,求和并输出 输入 任意一个3位整数 输出 每一位数字之和 样例 样例输入1 123 样例输出1 6 本题只需用%和/即可解决 “%”取模运算符,整除后的余数 “/”分子除以分母 代码如下(示例): #include<bits/stdc++.h> using namespace std; int main(){ int a,b,c,d; cin>>d; a=(d%100)%10;

jz20240402的博客 9220
上一篇: 文件流 学号排序
下一篇: C++ 求阶乘 四种方法
lulipeng_cpp
博客等级 码龄15年 169粉丝 130原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值