如何用C语言编写一个计算正整数位数的程序?

如何用C语言编写一个计算正整数位数的程序?,第1张

此程序可通过以下步骤实现:

1、输入一个正整数

2、将整数转换为字符串(使用sprintf函数)

3、求字符串的长度(strlen函数),即正整数的位数

代码如下:

#include <stdio.h>

#include <string.h>

int main()

{

long num

char str[20]

scanf("%ld", &num)

sprintf(str, "%ld", num)

printf("%d", strlen(str))

return 0

}

这样写主要是考虑到整数的前面可能有0,比如:00090,是两位数。如果确认没有前置0的话,可以简化过程,省去转换为字符串的过程,直接用gets得到字符串。

思路:求一个正整数n的位数可以先定义一个变量num,并初始化为0,依次把该整数n除以10,直到其为0为止,并且每除一次10,变量num的个数就自加1,最后num的值就是该整数n的位数。

参考代码:

#include <stdio.h>

int main()

int n,num=0

scanf("%d",&n)

while(n){

num++

n/=10

}

printf("%d\n",num)

    return 0

}

/*

输出:

123456

6

*/


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11353196.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存