欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

C語言編程,輸入一個整數,從高位開始逐位分割并輸出它的各位數字,沒看懂過程,求大神在重要部分加點注釋?

劉柏宏2年前16瀏覽0評論

#include<stdio.h>

intmain(void)

{

intb,t,x,c;

printf("Inputaninteger:");

scanf("%d",&x);

c=0;

if(x>=0)//當x為正數時,假設是12345

{

t=x%10;//取出x的個位的數5,賦給t,此時t為5。對10取余取出個位的數,下面還有很多次用到

while(x!=0)

{

x=x/10;//整數除法,作用是令x向右“退”一位。此時x的值為1234。例如911/10的結果是91,把個位“去掉了”。此技術下面也有多次用到

b=x%10;//把x的個位賦給b,b為4

t=t*10+b;//t本來存放的是5,乘以10再加上b,就變成了54。然后while一直如此循環當x被“取完”時,while退出

}//while退出是t的值為543210

//printf("%d\n",t);//你可以把這行的注釋去掉,看看t是多少

t=t/10;//令t向右“退”一位

while(t!=0)

{

printf("%d",t%10);//不斷地取出t的個位,并輸出

t=t/10;//不斷地令t向右“退”一位

}//這個循環可令t從個位到最高位的數字逐個輸出

}

if(x<0)//當x為負數

{

x=-x;//先把x轉換為它的相反數,然后下面的過程和正數的幾乎一模一樣

t=x%10;

while(x!=0)

{

x=x/10;

b=x%10;

t=t*10+b;

}

t=t/10;

while(t!=0)

{

c++;//c記錄當前的位數

if(c<=1)

printf("-");//如果c小于等于1,則說明剛剛開始,要先輸出一個負號

elseprintf("");//如果c大于1,則要加空格,以分隔各數字

printf("%d",t%10);

t=t/10;

}

}

return0;

}