我原一楼,晕小程序出了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我
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
int fun(int n)
{
int r = 0; //记录位数
while (n)
{
n /= 10;
r++;
}
return r;
}
写了个函数,自己写主函数吧
用字符串会不会更简单?
int main()
{
char input[20];
cin>>input;
cout<
}
如果要整数,那就楼上那样写吧。
哈哈,一楼的对的,我还学到一个新方法,我以前写的代码真是白痴,谢谢了一楼