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万+

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

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

网络系统实现技术之IPX与SPX

IPX/SPXNovell NetWare网络Novell公司为适应网络发展,将主机网络转换为PC网络,开发了Novell NetWare网络系统。该系统中基于客户机/服务器模式。以普通PC机做为客户机,以性能强大的服务器做为服务器,为客户机提供文件服务、数据库服务及其他服务。与前面的SNA模型一样,Novell NetWare也早于OSI模型,所以不能与OSI模型严格对应,但也有很明

成片的大树 9164

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

c++

tjh1998的博客 2万+

浮点数加法器设计

一.设计内容及其要求 内容 根据浮点数的运算规则和IEEE754标准,实现浮点数的加法运算器。 要求: 浮点数格式:符号位1位,阶码8位,尾数23位 要求该实验能完整的体现浮点数的运算的五个步骤:对阶、尾数求和、规格化、舍入(要求使用对偶舍入)、溢出判断。 二.基本要素 浮点数 浮点数即实数,实数是所有有理数和无理数的集合。它之所以被称作浮点数,是因为小数点在数中的位置并不是固定的。一个浮点数值分为两部分存储:数值以及小数点在数值中的位置。 计算机中的浮点运算的计算结果一般是不确定的,一块芯片的浮点运算

Phoenix_ZengHao的博客 1万+

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

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

m0_65420451的博客 1万+

不只是烧录:深入理解英飞凌Aurix MCU的HSM安全模块与UDE Memtool解锁操作

本文深入探讨了英飞凌Aurix MCU的HSM安全模块设计与UDE Memtool解锁操作,揭示了硬件安全模块的架构、安全启动链机制及调试接口的安全特性。通过分析UDE Memtool的解锁逻辑和量产环境下的最佳实践,帮助工程师更好地应对MCU锁定问题,提升汽车电子和工业控制领域的安全烧录效率。

weixin_32770423的博客 301

详解Σ-Δ型ADC拓扑结构的基本原理

现在,总环路滤波器的H(f)具有更大的滚降,Mod 2型的噪声传递函数具有40 dB/十倍频程的上升速率。同样,当正弦波输入为负满量程时,+1和–1之间的转换会减少,输出以–1为主。噪声传递函数是一个高通滤波器函数,提供噪声整形,在DC附近的较低频率,对量化噪声有很强的抑制。H(f)是环路滤波器的函数,定义噪声和信号的传递函数。Σ-Δ型ADC的噪底由热噪声决定,而不受量化噪声的限制。量化噪声为量化器的输入与输出之差。图5. Mod 1 Σ-Δ环路的线性模型(b),包括方程、滤波器、信号和噪声传递函数图。

qq_43416206的博客 1810

求各位数字之和

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

SunArrebol的博客 495

基于STM32的坐姿矫正与久坐提醒系统 | 保姆式教程 开源可复刻

本项目基于STM32F103C8T6主控,搭配MPU6050六轴姿态传感器、HC-SR04超声波测距模块,完整实现了坐姿矫正与久坐提醒系统的全流程开发,从多传感器数据采集、数字滤波、姿态解算、坐姿判断到多模式提醒,全流程无跳步保姆式拆解,配套逐行注释可直接编译的开源代码,新手跟着步骤一步步操作,就能顺利完成项目复刻

ZhongWeiXiang9的博客 439

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

#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

jdbc从入门到精通(全)

前言 Java语言连接数据库(Java DataBase Connectivity) 面向接口/抽象编程(降低程序的耦合度,提高程序的扩展力)类似多态机制

码农研究僧的博客 1759

环形平滑标签(Circular Smooth Label, CSL)技术详解

环形平滑标签(CSL)是一种优化算法,旨在解决旋转目标检测中角度预测的边界问题。通过将角度回归转化为分类任务,并利用窗口函数平滑标签分布,CSL有效处理了角度周期性的梯度突变问题。其核心原理包括角度离散化和平滑标签编码,通过高斯、矩形、三角等窗口函数生成概率分布。CSL在技术实现上涉及标签转换流程、模型结构调整和损失函数优化,显著提升了检测精度和稳定性。在DOTA数据集上的实验表明,CSL在mAP和角度误差方面优于传统方法。应用场景包括遥感图像分析、自动驾驶和工业质检,部署时需注意旋转NMS编译和ONNX导

浩瀚之水的专栏 641

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

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

2301_76241275的博客 1026

C++软件异常分析概述

本文将详细讲述Windows系统中软件异常的分类以及常用的排查方法,给大家提供一个借鉴与参考。

dvlinker的技术专栏 4万+

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

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

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

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

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

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

mo_zhongzhou的博客 1079

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

输入一个整数求其各位数字的平方和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、付费专栏及课程。

余额充值