
C++中怎么查询输入数字的长度
我想做的一道题,我的思路要知道它的数字长度,譬如输入了234478就是六位数,69547就是五位数,程序怎么写,麻烦要简单些,好的加多20分!!谢谢啦...
我想做的一道题,我的思路要知道它的数字长度,譬如输入了234478就是六位数,69547就是五位数,程序怎么写,麻烦要简单些,好的加多20分!!谢谢啦
展开
7个回答
2015-12-09 · 知道合伙人教育行家
关注

展开全部
计算输入数字的长度可以有以下两种方法:
定义字符数,把这个数字赋值给这个数组,求数组的长度即可:
#include <string.h>
#include <iostream>
using namespace std;
int main(){
char str[20];
cin >> str;
cout <<strlen(str)<< endl;
return 0;
}
/*
输出:
12345
5
*/定义一个整型,输入整数赋值,依次对该数进行除10运算,直到为0为止,每除一次该数的位数就加一,最后输出位数就行。
#include <string.h>
#include <iostream>
using namespace std;
int main(){
int n,sum=0;
cin >> n;
while(n){
sum++;
n/=10;
}
cout <<sum<< endl;
return 0;
}
/*
输出:
12345
5
*/
展开全部
//如果你说的是输入的是整型数据的话可以这样:
#include<iostream>
using namespace std;
int detect(long num)
{
int result=0;
long tmpNum=num;
while(true)
{
tmpNum=tmpNum/10;
result++;
if(tmpNum==0)
{
break;
}
}
return result;
}
int main(int argc,char** args)
{
long int data=7654321;
cout<<"数据:"<<data
<<"的位数是:"<<detect(data)
<<endl;
}
//如果不是,如1楼直接用类库string很方便
#include<iostream>
using namespace std;
int detect(long num)
{
int result=0;
long tmpNum=num;
while(true)
{
tmpNum=tmpNum/10;
result++;
if(tmpNum==0)
{
break;
}
}
return result;
}
int main(int argc,char** args)
{
long int data=7654321;
cout<<"数据:"<<data
<<"的位数是:"<<detect(data)
<<endl;
}
//如果不是,如1楼直接用类库string很方便
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//这是一种很通用的方法,将对你有很大的启发
//希望你好好体会,以后你就能转化其他的类型了
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
template <class T>
string toString(const T& s) {
ostringstream os;
os << s;
return os.str();
}
int main(){
int a ;
string b;
cin>>a;
b = toString(a); //将int转化为string型
cout<<b.length() <<endl;
return 0;
}
//希望你好好体会,以后你就能转化其他的类型了
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
template <class T>
string toString(const T& s) {
ostringstream os;
os << s;
return os.str();
}
int main(){
int a ;
string b;
cin>>a;
b = toString(a); //将int转化为string型
cout<<b.length() <<endl;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <string>//当用字符串时要包含这个头文件,但是后面不要加.h
#include <iostream>
using namespace std;//这个要写,因为头文件没加.h
int main(){
string str;
cout<<"请输入";
cin >> str;
cout << str.length() << endl;//这里用到length()函数
return 0;//可写可不写
}
#include <iostream>
using namespace std;//这个要写,因为头文件没加.h
int main(){
string str;
cout<<"请输入";
cin >> str;
cout << str.length() << endl;//这里用到length()函数
return 0;//可写可不写
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<iostream>
using namespace std;
int main()
{int num,n=0;
cout<<"Input num:";
cin>>num;
while(num)
{n++;
num/=10;
}
cout<<endl<<n;
}
using namespace std;
int main()
{int num,n=0;
cout<<"Input num:";
cin>>num;
while(num)
{n++;
num/=10;
}
cout<<endl<<n;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询