① 用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語言怎麼算整數的位數
輸入一個不多於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;
}

(2)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語言程序設計中如何輸出一個64位的整數
1、ANSI C99標准中並沒有64位整數類型。但是,許多實際的編譯器,都實現了對64位整數類型的支持。因為沒有這方面的標准,所以具體的語法描述方式略有不同,一般Windows平台,用__int64的關鍵字,而Linux平台則使用long long的描述方法。
2、有人做了測試,如下圖所示:

綜合上圖可以得出如下幾點:
a:long long定義方式可以用於gcc/g++,不受平台限制,但不能用於VC6.0。
b:__int64是Win32平台編譯器64位長整型的定義方式,不能用於Linux。
c:「%lld」用於Linux i386平台編譯器,」%I64d」用於Win32平台編譯器。
d:cout只能用於C++編譯,在VC6.0中,cout不支持64位長整型。
3、如果要使用64位的整數,盡量使用最新的編譯器,Windows平台,盡量使用VS的較新版本,Linux平台,建議將gcc/g++升級到最新版本。
④ C語言 編寫一個程序,輸入一個正整數,求出它是幾位數。
求一個正整數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
",num);
return 0;
}
/*
輸出:
123456
6
*/

(4)c語言如何編譯出數的位數擴展閱讀:
正整數,即大於0的整數,如,1,2,3…
0既不是正整數,也不是負整數(0是整數)。
負整數,即小於0的整數,如,-1,-2,-3…
知道正整數的一種分類辦法是按照其約數或積因子的多少來劃分的,比如僅僅有兩個的(當然我們總是多餘地強調這兩個是1和其本身),就稱之為質數或素數,而多於兩個的就稱之為合數。
⑤ c語言怎麼將輸入一個數輸出其位數
將它作為字元串讀入,測長度即可。
char s[80];
scanf("%s",s);
printf("%d",strlen(s));
例如:輸入 -123.987654321
輸出 14 (含符號,小數點,數字)
若要轉 double a; 可以用 sscanf(s,"%lf", &a); 輸出a: printf("%.9lf",a);
⑥ C語言怎樣提取一個數的十位個位百位千位
設一個數為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;
}
運行結果如圖:

(6)c語言如何編譯出數的位數擴展閱讀
C語言的運算符包含的范圍很廣泛,共有34種運算符。C語言把括弧、賦值、強制類型轉換等都作為運算符處理。從而使C語言的運算類型極其豐富,表達式類型多樣化。靈活使用各種運算符可以實現在其它高級語言中難以實現的運算。
⑦ C語言編程 輸入一個整數,輸出整數的位數,用while函數
/*簡單一點,能看懂不?*/
#include
<stdio.h>
int
main()
{
int
i=0,n;
printf("輸入整數:");
scanf("%d",&n);
while(n!=0)
{
n=n/10;
i++;
}
printf("是一個%d位的數\n",i);
return
0;
}
⑧ 用C語言編輸入一個整數輸出其位數
獲取輸入數據比較簡單,用scanf即可。
下面給兩個判斷整型數據位數的函數:
1.
直接求int類型數據位數:
int
getlength(const
int
tmp)
{
int
count=0;
while(
tmp/10
)
count++;
return
count;
}
2.
利用字元數組來變通的獲取:
int
getlength(const
int
tmp)
{
char
str[16];
memset(str,
0,
sizeof(str));
sprintf(str,
"%d",
tmp);
return
strlen(str);
}
⑨ C語言程序設計中如何輸出一個64位的整數
需要准備的材料分別有:電腦、C語言編譯器。
1、首先,打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。

⑩ 用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;
}

(10)c語言如何編譯出數的位數擴展閱讀:
C語言包含的各種控制語句僅有9種,關鍵字也只有32 個,程序的編寫要求不嚴格且以小寫字母為主,對許多不必要的部分進行了精簡。實際上,語句構成與硬體有關聯的較少,且C語言本身不提供與硬體相關的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統所支持的各類庫進行編程,故c語言擁有非常簡潔的編譯系統。