怎样用c语言实现取一个数字的个位

Python018

怎样用c语言实现取一个数字的个位,第1张

取一个数字的个位,可以分为取整数的个位,和浮点数的个位两种情况:

1)取一个整数的个位,可以直接求余

例如 变量 int num=127

num%10 就可以得到个位的7

2)取浮点数的个位

因为%是不能对浮点数直接运算的,因此需要强制取整之后执行

例如变量 double num=27.83

((int)num)%10 就可以得到个位的7

设一个数为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语言

其实不用循环也可以做到,对其求以10为底的对数,然后取整数部分再加1,就是这个整数的位数.

下面是代码:

#include<stdio.h>

#include<math.h>

void main()

{

int n

printf("please input an integer:")

scanf("%d",&n)

printf("%d的位数是%d\n",n,(int)log10(n)+1)

}