主题:如何判断一个整形是多少位数?
XVenus
[专家分:20] 发布于 2005-05-16 01:30:00
请问如何判断一个整形是多少位数?
回复列表 (共15个回复)
11 楼
LO几又VE [专家分:14490] 发布于 2005-05-20 18:17:00
/*C code*/
.....
int i=123;
char c[6];
printf("%d length %d", i, strlen(itoa(i,c,10)));
......
12 楼
yeyeo [专家分:50] 发布于 2005-05-23 20:11:00
int n,,b,sum=2;
b=n/10;
while(b!=o)
{
b=n/10;
sum++;
}
13 楼
一起奥赛 [专家分:10] 发布于 2005-06-01 11:15:00
最简PASCAL代码:
PROGRAM ONE;
VAR
N:LONGINT;
I,J,LEN,X:LONGINT;
BEGIN
READLN(N);
LEN:=TRUNC(LN(N)/LN(10))+1; {计算乘数的位数}
END.
PROGRAM TWO;
VAR
A:LONGINT;
LEN:INTEGER;
BEGIN
READLN(A);
LEN:=0;
WHILE A DIV 10>0 DO
BEGIN
INC(LEN);
A:=A DIV 10;
END;
END.
14 楼
williamgood [专家分:330] 发布于 2005-10-13 21:51:00
2楼的说的没错!!!!
是个好方法!!
15 楼
maleo [专家分:510] 发布于 2005-10-14 11:00:00
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int num ;
int count ;
char array[10] ;
scanf("%d",&num) ;
count = ( (int)( log(num)/log(10) ) ) + 1 ;
printf("LOG Method :%d\n",count ) ;
count = strlen(itoa( num , array , 10 ) ) ;
printf("STRLEN Method : %d\n", count ) ;
getch() ;
return 0 ;
}
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int num ;
int count ;
char array[10] ;
scanf("%d",&num) ;
count = ( (int)( log(num)/log(10) ) ) + 1 ;
printf("LOG Method :%d\n",count ) ;
count = strlen(itoa( num , array , 10 ) ) ;
printf("STRLEN Method : %d\n", count ) ;
getch() ;
return 0 ;
}
/*
此外,还有用while循环的,我就不写了,呵呵!
*/
我来回复