c语言计算位数
‘壹’ c语言求整数的位数
输入一个不多于4位的正整数,求它的位数,并按逆序输出各位数字,可以参考下面的代码:
#include<stdio.h>
intmain()
{
intn,ans=0;
scanf("%d",&n);
printf("逆序输出:");
while(n!=0)
{
intt;
t=n%10;
n/=10;
ans++;
printf("%d",t);
}
puts("");
printf("位数为:%d ",ans);//位数
return0;
}
(1)c语言计算位数扩展阅读:
C语言函数列举:
C语言asin()函数:求反正弦
C语言atan()函数:求反正切
C语言atan2()函数:求x/y的反正切值
C语言cos()函数:求余弦
C语言cosh()函数:求双曲余弦
C语言log()函数:返回x的自然对数(以e为底的对数)
C语言ldiv()函数:求两个数的商和余数(针对long类型)
C语言isupper()函数:判断一个字符是否是大写字母
C语言isspace()函数:判断一个字符是否是空白符
‘贰’ 用c语言编程:输入一个四位数,求出它的个位、十位、百位、千位
C代码:---------------------
int a;
scanf("%d",&a);
printf("个位:%d,十位:%d,百位:%d,千位:%d",a%10,a%100/10,a%1000/100,a/1000)
--------------------------------
VC++中代码如下:
#include "stdafx.h"
#include <stdlib.h>
int main(int argc, char* argv[])
{
int a;
scanf("%d",&a);
printf("个位:%d,十位:%d,百位:%d,千位:%d",a%10,a%100/10,a%1000/100,a/1000);
system("pause");
 return 0;
}
C语言有以下几种取整方法: 
    1、直接赋值给整数变量。如: 
    int i = 2.5; 或 i = (int) 2.5; 
    这种方法采用的是舍去小数部分,可以用于你的问题。 
    2、C/C++中的整数除法运算符"/"本身就有取整功能(int / int),而下面介绍的取整函数返回值是double。整数除法对正数的取整是舍去小数部分,但是整数除法对负数的取整结果和使用的C编译器有关。 
    3、使用floor函数。floor(x)返回的是x的整数部分。如: 
    floor(2.5) = 2 
    floor(-2.5) = -3 
    4、使用ceil函数。ceil(x)返回的是不大于x的最小整数。如: 
    ceil(2.5) = 2 
    ceil(-2.5) = -2 
    floor和ceil对于正数没有区别,但是对于负数结果不同。floor()是向负无穷大舍入,floor(-2.5) = -3;ceil()是向正无穷大舍入,ceil(-2.5) = -2。
‘叁’ 用c语言如何表示出一个数的个位,百位,十位
如果n是个多位十进制数,那么n%10是个位数字,n/10%10是十位数字,n/100%10是百位数字,依此类推。
设一个数为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
十位:%d
百位:%d
千位:%d
", unitPlace, tenPlace, hundredPlace, thousandPlace);
getchar();
return 0;
}

(3)c语言计算位数扩展阅读:
C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
