C++程序 计算输入的正整数的位数.

供稿:hz-xin.com     日期:2025-01-13
[C++】写一个程序,计算输入的正整数的位数

数一下能除几次10就好了。
#include using namespace std;int main() { unsigned int num = 0; cin>>num; // 数一下能除几次10 int count = 0; while(num != 0) { num /= 10; count++; } cout<<count<<endl; return 0;}

思路:求一个正整数n的位数可以先定义一个变量num,并初始化为0,依次把该整数n除以10,直到其为0为止,并且每除一次10,变量num的个数就自加1,最后num的值就是该整数n的位数。
参考代码:
#include int main(){ int n,num=0;scanf("%d",&n);while(n){num++;n/=10;}printf("%d
",num); return 0;}/*输出:1234566*/

#include "iostream"

using namespace std;

int main()

{

       int n,i=0;

       cout<<"请输入一个正整数:";

       cin>>n;

       while(n)

       {

           n=n/10;

            i++;

       }

       cout<<"输入正整数的位数为:"<<i<<endl;

}



#include <iostream>

using namespace std;

int main()

{

int a;

cin>>a;

int k=0;

while(a)//这个while循环就是计算正整数的位数

{

a=a/10;//每次都是删去最后一位  直到a为0

        k++;//每做一次循环k就加一

}

cout<<k<<endl;

}



#include <iostream>
using namespace std;

int main()
{
int num = 0; //存数整数
int i = 0; //记录位数

cout<<"输入一个正整数N:";
cin>>num;

while(num)
{
num = num/10;
i++;
}
cout<<"数字个数为:"<<i<<endl;;
return 0;
}

i=0;
while(x)
{
i++;
x/10;
}
i的值就是位数

# include <stdio.h>
#include<string.h>
int main()
{
char s[111];
while(scanf("%s",s)!=EOF)
{
printf("%d\n",strlen(s));
}
return 0;
}

C++程序 计算输入的正整数的位数.
cout<<"输入正整数的位数为:"<<i<<endl;}

C++程序设计:输入一个正整数求出它是几位数;输出原数和位数
假设输入数是a i = a%10 j = a\/10 如果j等于0说明已经找到最高位,则结束循环 如果j不等于0,则说明找到当前最后一位i,继续循环 j不等于0的次数就是位数啊

C++如何实现提示用户输入一个正整数,计算出该数字的位数并把找出每一...
\/ int getLength(int num){ int i = 1;int temp = num;while(temp\/10 != 0){ ++i;temp \/= 10;} return i;} \/ 顺序输出数字num的各个位数 \/ void outputEveryNumber(int num){ int temp = num;int length = getLength(num);int flag = 1;for(int i =1;i<length;++i){ flag...

c++程序设计:给一个不多于五位的正整数要求出它是几位数
include <stdlib.h> int main(int argc, char* argv[]){ char buffer[6];printf("请输入一个不大于五位的整数:\\n");scanf("%s",buffer);printf("位数是:%d\\n",strlen(buffer));for(int i=0;i<strlen(buffer);i++)printf("第%d位是:%d\\n",i+1,buffer[i]-48);printf("逆序显示...

在C++中“从键盘上输入一个任意位数的正整数,判断它是几位数,并逆序...
include <iostream> using namespace std;void main(){ int num,temp;cout<<"Please input a number"<<endl;cin>>num;while(num>0){ temp=num%10;cout<<temp;num=num\/10;} cout<<endl;} 目前最简单的,也可以用字符形式

C++编程求助:使用循环语句输出该正整数的每一数位的数字。
int f(char a[]){int i,l=strlen(a);for(i=0;i<l;i++)if(a[i]<'0'||a[i]>'9') return 1;return 0;} int main(){ char a[100];int p,i;while(scanf("%s",a)){ p=strlen(a);if(f(a)) {printf("输入有误请重新输入\\n");continue;} else {for(i=0;i...

编写程序c++,输入一个不多于5位的正整数
\/*分别代表个位,十位,百位,千位,万位和位数*\/ cout<<"enter an integer(0~99999):";cin>>num;if (num>9999)place=5;else if (num>999)place=4;else if (num>99)place=3;else if (num>9)place=2;else place=1;cout<<"place="<<place<<endl;\/\/计算各位数字 ten_thousand=num...

c++编程 输入一个四位正整数,然后分别显示其千位数、百位数、十位数和...
简单方法:char a[10] = {0};scanf("%s", a);\/\/以字符串形式输入 assert(strlen(a)==4);\/\/这句可以不要 printf("%c %c %c %c\\n",a[0],a[1],a[2],a[3]);\/\/以字符形式输出 printf("%d %d %d %d\\n",a[0],a[1],a[2],a[3]);\/\/以ASCLL码形式输出 ...

C++的一道题,任给一个的正整数,要求: (1) 求出它是几位数。 (2) 按...
= 0 || n <= 0) cout << "input error!" << endl; else { int a=n, b=0;\/\/a,b没有正确赋值 { while (a) { a = a \/ 10;\/\/这里有更改 b++; } cout << "该正整数的位数是" << b << endl; } int c, d; c = n; while (c ...

输入一个不超过10的9次方的正整数,输出他的位数。用C语言或是C++都行...
首先算出这个数,然后对10进行整除,得到的结果再对10进行整除,直到结果为0为止。把除的次数累加就是位数。比如:123 除以 10 等于 12 一次 12 除以 10 等于 1 二次 1 除以 10 等于 0 三次 所以结果是3位数 ...