#include<stdio.h>int main(){??? char c=',';??? int n,i=0,j=0,a[100];??? scanf("%d",&n);??? if(n<1000)??? printf("%d",n);??? else??? {??????? for(i=0;n>=1000;i++)??????? {??????????? a[i]=n%1000;??????????? n/=1000;??????????? j=i+1;??????? }??????? a[j]=n;??????? for(i=j;i>0;i--)??????? {??????????? printf("%d%c",a[i],c);??????? }??????? printf("%d",a[0]);??? }}分隔符后面第一個數字如果是0,這個0就無法輸出
1 回答

frece
TA貢獻36條經驗 獲得超15個贊
你的意思是如果你輸入 0100 他只會輸出100嗎?
這樣是正常的,因為 %d輸出的是整形,會默認把前邊的0去掉,如果你想輸出帶0的,兩個方法,一個是用字符型數據接收,不過你這里因為還要做判斷好像不太方便哈,
另一個就是用 %04d 這種形式輸出,%04d輸出十進制數值占地4位,不足位添0,不過這樣做的缺點就是如果你輸入的數小于1000的話他前邊肯定會有0,如果你輸入1,他會出0001,你輸100他會出0100
不過話說回來,要整形為什么前邊一定要加0呢
- 1 回答
- 0 關注
- 1234 瀏覽
添加回答
舉報
0/150
提交
取消