从键盘输入一个数字(不限位数),用循环语句编程判断并输出这个数字的位数
我用java不过逻辑都一样
int n = 987878976;//正是是从键盘接收的数字,处理后的数字。
int count = 0;//保存数字的位数
while(n>=1){
count++;
n = n/10;
}
//输出count就可以了
#include <iostream>
using namespace std;
int main()
{
cout << "输入一个数:" ;
int n;
cin >> n;
cout << endl;
int a = 1;
int m;
do
{
m = n/10;
if(m>0)
a++;
}while(m>0);
cout << a << endl;
return 0;
}
int n,m=0;
printf("请输入数据\n");
scanf("%d",&n);
while(n>0)
{
m++;
n=n/10;
}
printf("%d\n",m);
#include <iostream>
#include<stdio.h>
using namespace std;
int main()
{
int a,num = 0;
scanf("%d",&a);
if(a < 0) a = a * (-1);
if(a == 0) num = 1;
while(a >= 1){
num++;
a = a/10;
}
printf("%d",num);
return 0;
}
先判断如果不是数字,报错并提示重新输入(可以根据scanf的返回值判断)
在判断,如果等于0输出1,小于则取反在计算
#include
using namespace std;
int main()
{
int a,num,count=1;
cin>>a;
num=a/10;
while(num>0)
{
count++;
num=num/10;
}
cout<<"位数是:"<<count<<endl;
}