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

Python0237

如何用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,则在C语言中其个位、十位、百位、千位依次这样计算:n/1%10,n/10%10,n/100%10,n/1000%10

代码如下:

#include<stdio.h>

int main(){

int n = 123456

int unitPlace = n / 1 % 10

int tenPlace = n / 10 % 10

int hundredPlace = n / 100 % 10

int thousandPlace = n / 1000 % 10

printf("个位:%d\n十位:%d\n百位:%d\n千位:%d\n", unitPlace, tenPlace, hundredPlace, thousandPlace)

getchar()

return 0

}

运行结果如图:

扩展资料

C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。

参考资料:百度百科--C语言