如何用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得到字符串。

C语言怎么销锋计算一个数有多少位的方法:

输入待计算的数x

定义一个数位的变量int

n=0

循环,x每次缩姿拿小10倍,n=n+1

最终x会亏册晌变成0,循环结束

输出n值

代码:

#include <stdio.h>

void main()

{

int x,m,n=0

printf("input x: ")scanf("%d", &x )

m=x//备份原数,供输出用

do {

n++

x /= 10

} while( x>0 )

printf("%d 是%d位数\n", m, n )

}

求一个正整数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

*/

扩展岩郑判资料:

正整数,即大于0的整数,如,1,2,3…

0既不是正整数,也不是负整数(0是粗改整数)。

负整数,即小于0的整数,丛前如,-1,-2,-3…

知道正整数的一种分类办法是按照其约数或积因子的多少来划分的,比如仅仅有两个的(当然我们总是多余地强调这两个是1和其本身),就称之为质数或素数,而多于两个的就称之为合数。

参考资料来源:百度百科-正整数


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存