社区
C语言
帖子详情
怎么统计输入整数的位数?
zhou_steven
2002-08-04 10:13:14
用除法除吗?还是有什么函数?
...全文
292
11
打赏
收藏
怎么统计输入整数的位数?
用除法除吗?还是有什么函数?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
不解
2002-08-04
打赏
举报
回复
CString str;
str.Format("%d",yourinterge);
len=str.GetLength();//len is the value
antimicrosoft
2002-08-04
打赏
举报
回复
我只有汇编的算法,用ax传递操作数
PUBLIC BASDEC,UBSDEC
DATA SEGMENT
CONT DW 10000,1000,100,10,1
TEM DB " "
BUF DB 0AH,0DH, 70 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
BASDEC PROC FAR
PUSH DS
PUSH AX
MOV AX,DATA
MOV DS,AX
POP AX
PUSHF
MOV TEM,'+'
AND AX,AX
JNS JMP1
MOV TEM,'-'
NEG AX
JMP1: POPF
POP DS
UBSDEC LABEL FAR
PUSH DS
PUSH AX
MOV AX,DATA
MOV DS,AX
POP AX
PUSHF
PUSH BX
PUSH DI
PUSH DX
PUSH CX
LEA BX,BUF
PUSH BX
ADD BX,2
MOV CH,TEM
MOV [BX],CH
INC BX
MOV TEM," "
LEA DI,CONT
GOON: MOV CL,[DI]
CWD
DIV WORD PTR [DI]
ADD AL,30H
MOV [BX],AL ;FOCUS
INC BX
INC DI
INC DI
MOV AX,DX
CMP CL,1
JNZ GOON
MOV BYTE PTR [BX],'$'
POP DX
MOV AH,9
INT 21H
POP CX
POP DX
POP DI
POP BX
POPF
POP DS
RET
BASDEC ENDP
CODE ENDS
END
xiaott
2002-08-04
打赏
举报
回复
#include<stdio.h>
void main()
{
int i=1,j,a;
scanf("%d",&a);
j=a;
while(a>10)
{i++;a/=10;}
printf("整数%d的位数是:%d",j,i);
}
sunx007
2002-08-04
打赏
举报
回复
也可以这样:
char ch[100];
int n=100;
int nlen=sprintf(ch,"%d",n);
nlen就是位数
陈硕
2002-08-04
打赏
举报
回复
楼上结果的还要加一才行 :)
sunspot_lee
2002-08-04
打赏
举报
回复
以10为底求对数,然后向下取整:floor(log10(x))
langhaixin
2002-08-04
打赏
举报
回复
int i,j;
int ch[100];
scanf("%d",&i);
sprintf(ch,"%s",i);
j=strlen(ch);
笑面佛_正版
2002-08-04
打赏
举报
回复
这很简单,自己写就行了
int i,s;
i=0;
for(s=12345;s>0;s=s/10)
i++;
不知是否会5位时答案却是4或是6,最后再加1或减1,我不替你调试了.
zheng_can
2002-08-04
打赏
举报
回复
我觉得还是直接用 while 循环来算比较好
其他的方法有点匪夷所思,使别人不能够一下子看出代码的目的,不是很好
fatalerror99
2002-08-04
打赏
举报
回复
C 语言标准函数 char * itoa ( int num, char * str, int radix ),把整数 num 转换成与其等价的字符串,并把结果放在 str 指向的字符串中,输出的进制由 radix 决定。
然后统计字符串中字符的个数不就行啦,不必那么麻烦吧。
fangrk
2002-08-04
打赏
举报
回复
int getNum(int n)
{ if(n<0) n*=-1;
if(n==0) return 1;
int r=0;
while(n){
++r;
n/=10;
}
}
确定
位数
的C语言程序设计,C语言程序设计:编写程序,
输入
一个正
整数
,
统计
该
整数
的
位数
并计...,用C语言编写:“
输入
一个正
整数
,
统计
该
整数
的
位数
...
C语言程序设计:编写程序,
输入
一个正
整数
,
统计
该
整数
的
位数
并计...,用C语言编写:“
输入
一个正
整数
,
统计
该
整数
的
位数
C语言程序设计:编写程序,
输入
一个正
整数
,
统计
该
整数
的
位数
并计...,用C语言编写:“
输入
一个正...
计算
输入
的非负
整数
的
位数
//第二个do语句循环次数与
输入
整数
的
位数
相同,因此只需要
统计
循环的次数就行可以了 #include <stdio.h> int main (void){ int num; int ws; do{ printf("请
输入
一个非负
整数
:"); scanf("%d",&...
C
输入
整数
统计
该
整数
的
位数
+求各
位数
字之和+素数判断+各位分割
1)
统计
该
整数
的
位数
,并求各
位数
字之和,例如
输入
127,输出
位数
为3,和为10; 2)从高位开始逐位分割并输出它的各
位数
字例如,
输入
127,则输出结果为1 2 7 3)判断该数是否为素数,例如
输入
127,输出127是素数; ...
java中如何获取一个正
整数
的
位数
?
java中如何获取一个正
整数
的
位数
? 第一种(使用%,math.log) int a = 1104; // 最后一位 System.out.println(a % 10); int m = 1; for (int i = 0; i int) Math.log10(a);...
PTA 循环结构 7-4
统计
整数
的
位数
从键盘读入一个
整数
,
统计
该数的
位数
。例如,
输入
12534,输出5;
输入
-99,输出2;
输入
0,输出1。
输入
格式:
输入
一个
整数
N(−105≤N≤105)。 输出格式: 在一行中按如下格式输出该数的
位数
。 It contains
位数
...
C语言
69,369
社区成员
243,081
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章