用C++一个程序,输入任意一个数,输出它是几位数!

2024-11-15 15:27:38
推荐回答(5个)
回答(1):

我原一楼,晕小程序出了BUG,while(n%10>0)改为while(n>0)修正版
#include
void main()
{
int k=0,n;//k计输入数为几位数,n为输入值
cin>>n;
while(n>0)
{
n=n/10;
k++;
}
cout<}
看不懂的百度Hi我

回答(2):

1楼写错了~是10的倍数怎么办?比如100 1000?

循环条件应该改成

while(n/10 != 0)
{
n = n/10;
k++;(k初值为1)
}

或者直接
k=(int)log(n)+1
调用math.h库的log函数
先声明float log(float)
int k

回答(3):

int fun(int n)
{
int r = 0; //记录位数
while (n)
{
n /= 10;
r++;
}
return r;
}
写了个函数,自己写主函数吧

回答(4):

用字符串会不会更简单?
int main()
{
char input[20];
cin>>input;
cout< return 1;
}
如果要整数,那就楼上那样写吧。

回答(5):

哈哈,一楼的对的,我还学到一个新方法,我以前写的代码真是白痴,谢谢了一楼