c++获取输入数字的位数/获取位数并且将其存入数组中/获取位数存入数组并且利用它解决实际问题
2021/11/6 11:10:01
本文主要是介绍c++获取输入数字的位数/获取位数并且将其存入数组中/获取位数存入数组并且利用它解决实际问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.仅仅获取数字的位数:
int checkNumber(int num){ int weishu = 0; for (int i = 1, num1 = num, shuzu = 0; num / i; i = (i * 10)){ //当num为一位时 循环进行一次 当num为两位时 两次 ,三位时 三次 num1 = num1 / 10; weishu++; //循环进行一次,位数加一 } return weishu; }
2.获取数字的位数并且存入数组:
#include <iostream> using namespace std; int CheckNumberInputArr(int num); int arr1[100] = { 0 }; int main(){ int n; cin >> n; cout << "n的位数为:"; cout << CheckNumberInputArr(n) << endl; //判断数字1000的位数 cout << "从低位到高位输出n" << endl; for (int i = 0; i < CheckNumberInputArr(n);i++){ //从低到高输出数组arr1中存储的数字n的各数位 cout << arr1[i] << endl; } cout << "从高位到低位输出n" << endl; for (int i = CheckNumberInputArr(n)-1; i >= 0; i--){ //从高位到低位输出数组arr1中存储的数字n的各数位 cout << arr1[i] << endl; } system("pause"); } int CheckNumberInputArr(int num){ //如果需要在全局使用数组的话就需要把数组定义在函数外面 int weishu = 0; //weishu:用于保存所得的位数 int shuzu = 0; //shuzu:用于访问数组,从0开始访问 for (int i = 1, num1 = num; num / i; i = (i * 10)){ //这个循环用于获得num的每一位,当num/i==0时结束(即num整除i为0,说明其位数小于i的位数),i每过一次循环都会大10倍 //当num为一位时 循环进行一次 当num为两位 两次 三位 三次 arr1[shuzu] = num1 % 10; //依次获得从个位开始的每一位 num1 = num1 / 10; //令num1缩小10倍,以便于下一轮的取num1的个位 weishu++; //循环进行一次,表明位数需要加一 shuzu++; //并且使它存到数组的下一位 } return weishu; }
3.获取位数存入数组并且利用它解决实际问题,这里是判断一个数是否为回文数
这篇关于c++获取输入数字的位数/获取位数并且将其存入数组中/获取位数存入数组并且利用它解决实际问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-25Elevate Your Lead Generation Game with Maps Scraper AI
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能