1樓:網友
#include
#include
void main()
執行示例:對於位數很多的多位數,用上述方法可以解決,如果定義為整型,則無法解決。
2樓:網友
int a;
a%10 是末尾。
a/10%10 是末第二位。
a/100%10 是末第三位。
依次類推。a/10..0 等於0時,結束。
c語言中如何將乙個數字的各個位上的數分別提取?
3樓:小黑哎啊
#include
int main()
/這裡陣列必須賦於初值,不然系統會隨機賦值,將輸出錯誤!
版賦值任何數。
scanf("%d",&a);//都行!
int i=0;
while(a!=0)
for(int j=i-1;j>=0;j--)return 0;
4樓:網友
假如有一源。
個數為n,bain<65535;
萬位上的du數值:
zhi(n/10000)%10;
千位上的數值:
n/1000)%10;
百位上的數值:(n/100)%10;
十位上的數值:(n/10)%10;
個位上的數值:n%10;
#include
#include
int main()
return 0;}
5樓:匿名使用者
解決步驟如下:1.首先獲取這個數字的位數大小2.
迴圈位數大小次,在迴圈中每次除以10,取莫,就得到了這個為的值,也就是這個位上的數字。然後儲存到你的陣列中,或者輸出。上述思路即可解決你的問題。
6樓:水晶葡萄
兩種方案來,直接用數學。
方法計算。自和轉為為字串。
第一:數學方法,對於任意乙個數n,要計算第site位的數,都可以用n/10^(site-1)%10
計算出來。比如計算123各位數:
int data=123;
printf("%d",data/100%10);
printf("%d",data/10%10);
printf("%d",data/1%10);
結果是:第二:轉化為字串,這裡要用到乙個函式itoa。同樣是計算123各個位數。
**:int data = 123;
char array[100];
itoa(data, array, 10); //轉化為字串printf("%c", array[0]);
printf("%c", array[1]);
printf("%c", array[2]);
結果和上面一樣!
兩種方式都能計算出,但是第一種方式計算未知位數的數時很麻煩,要首先計算出數的位數,相比較第二種就沒那問題,只要定義足夠大的陣列就不存在這個問題。
7樓:l_朵勒阿
除10取餘數,**示例:
while (i!=0)
8樓:匿名使用者
我的做法是先將整型轉為字串,再將轉後的字串取需要的字元轉為整型專,過程說起來複雜,屬但是寫起來只要兩行**就行了~#include
#include
int main(void)
怎麼用c語言把多位數的每一位拆出來。。。
9樓:網友
若兩位,個位等於該數除10取餘,十位等於該數除以10,同理三位數個位等於該數除以10去餘,而十位等於該數除以10之後,再除以10去餘,而百位等於該數除以100.其他同理。
10樓:擬鴻銘
用除法"/"和取模"%",比如3位整數x,你可以這樣:
int bai,shi,ge;
bai=x/100;
shi=(x-bai*100)%10;
ge=x%10;
11樓:網友
int a=0;
int i=0;
int b[10]=;//存放解析後的數字scanf("%d"&a);
for(i=0 ; i++)
你把頭尾完善一下就行了,這個在陣列b中是逆序拍的,輸出的時候你倒著輸出就可以了。
c語言中如何讀取多位數每一位的數字,在v c++平臺上,比如1234,具體語句,從定義開始。
12樓:開陽曦
提供一種方法供參考。
將多位數轉換為字串,然後字串裡的每個字元就是對應的數位。使用itoa函式如下:
#include
#include
int main ()
還有其他思路,例如逐個位元組的解釋多位數等等。
13樓:萌新妮可笑眯眯
int n = 1234;
while(n != 0)
差不多就是這樣就能把n從個位到最高位輸出。
14樓:白了少
int a=0,b=0;
scanf("%d",&a);
while(a/10)
b+=a;b的值就是各位的總和。
c語言中如何輸出任意乙個數字的每一位數字
15樓:諾諾百科
比較常用的思路就是不斷的除10,比如隨便乙個數字1234512345/10=1234
再把 1234/10=123
這樣就把這個數字按位拆開。
#include
#include
int main()
int inumber;
cout <<"請輸入一bai個數字:"
定義乙個棧。
int stack;
int top=-1;
while (inumber % 10)
stack[++top]=inumber % 10);
inumber = inumber / 10;
printf("從高到低依次是:")
for(;top>=0;top--)
printf("%d",stack[top]);
system("pause");
return 0;
c語言,如何輸出每一位數字
16樓:風若遠去何人留
要輸出整型數值的每一位數字,關鍵在於將每乙個數字提取出來。
方法有很多,實現方式更是多種多樣,以最常見的兩種方式舉例說明:
一、傳統方法,通過除法和模除,取出每一位,並輸出。
#include
void output(int n)
反序輸出每一位值。
while(--l>=0)
printf("%d ", a[l]);
int main()
二、轉為字串,然後輸出字串各個字元。
由於在c語言中,有很多庫函式,比如itoa, sprintf等,都可以很方便的將整數轉為字串,而逐位輸出字串各個位元組值是很簡單的,所以可以通過轉為字串,再輸出的方式輸出各個位的值。
#include
void output(int n)
int main()
17樓:網友
個位**應該改成如下:
f=a-b*10000-c*1000-d*100-e*10
用數字a減去其他位數最後餘下個位數。
18樓:代號
根據你的提問,我只看了f的表示式,這麼麻煩幹嘛?直接f=a%10不就解決了?
19樓:網友
不懂你的f為什麼要這麼算。
直接f = a % 10不就可以了嗎。
c語言輸入乙個整數怎麼分別輸出它的每位上的數字
20樓:天雲一號
可以通過除法bai運算子。
du( / )和求餘運算子( %結合zhi迴圈來實現分別輸出乙個整dao
數的每位數專字。
具體實現方屬。
#include
void main()}
21樓:匿名使用者
經過測試發現你的程式沒有你說的問題,輸入3位數時工作正常。
22樓:網友
#include
void main()
void fun(int n)
for(m=m-1;m>=0;m--)
printf("%d ",b[m]);
printf("a;lfjkds ");
/也直接數du字zhi
按字元格。dao式專輸入屬。
#include
void main()
void fun(char *a)
c語言 判斷數的位數,C語言 判斷乙個數的位數
如下 include int main int a,b int i printf 請輸入乙個數字 scanf d a b a for i 0 a 1 i a a 10 printf d是 d位數 n b,i 思路 因為整數除以整數的結果是整數,所以乙個數每除以10,位數就少1,所以可以採用while...
求助 編寫C語言,輸入乙個三位數 如123 ,然後輸出結果是321 謝謝啦 5
求助 編寫c語言,輸入乙個三位數 如 然後輸出結果是.謝謝啦 測試通過,幾位都可以,只要在int允許範圍內。int reverse int n int m int k while n k n m m k n n return m void main int n scanf d n printf d ...
c語言簡單小題,乙個簡單的C語言題
樓主把 return n 這句給刪除了,這句沒有用。要返回值幹嘛,刪除了就能輸出結果了4000多。過早地遇到了return n,致使main函式執行提前結束,不會再執行printf return可以立即結束幾乎任何乙個函式,無論後面還剩下什麼語句,都不會再被執行。這裡的main 前面沒有給出返回型別...