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語言擁有非常簡潔的編譯系統。
