当前位置: 代码迷 >> C语言 >> 任意输入一个数,如何知道他是几位数
  详细解决方案

任意输入一个数,如何知道他是几位数

热度:112   发布时间:2007-02-13 09:39:20.0
任意输入一个数,如何知道他是几位数

任意输入一个数,如何知道他是几位数

搜索更多相关的解决方案: 位数  输入  

----------------解决方案--------------------------------------------------------
可以用字符函数stlen()可以吗?
把数字当做字符????
----------------解决方案--------------------------------------------------------
有个itoa()函数吧,先转成字符串,再记长度就ok了(while(a[i]!='\0' i++; i即所求),好久不弄c了,大概是这样的

[此贴子已经被作者于2007-2-13 10:30:54编辑过]



----------------解决方案--------------------------------------------------------
#include <stdio.h>

long num,a=0;

int main() {
printf("Please Input a num:");
scanf("%ld",&num);
putchar('\n');
for(;num>0;a++,num=num/10) {}
printf("%ld有%ld位",num,a);
getchar();
}


----------------解决方案--------------------------------------------------------
先转成字符串可能不行,因为所输入的数字还有用处
----------------解决方案--------------------------------------------------------
还能再转会来的,atoi(),哈哈
----------------解决方案--------------------------------------------------------
也可以被个分
----------------解决方案--------------------------------------------------------

4楼方法也8错,先被个分就ok了


----------------解决方案--------------------------------------------------------
我的是直接将其得出,没有转换成字符串,我改了一下成了函数

去看看吧:
http://hi.baidu.com/%B6%E0%CE%AC%CA%FD%D7%E9/blog/item/8da333a85b1d47b1ca130ce2

函数原形:
long getmf(long num)

函数内容:
long getmf(long num) {
long a=0;
for(;num>0;a++,num=num/10) {}
return a;
}




很小巧吧,只用了3行。。。。。。但我不知道0是几位数。


----------------解决方案--------------------------------------------------------
但是你把num的值破坏了,最好实参型参那样分开
----------------解决方案--------------------------------------------------------
  相关解决方案