亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

這個程序問題出在哪

這個程序問題出在哪

C
我是好學生666 2017-04-18 18:11:27
#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呢

查看完整回答
反對 回復 2017-04-19
  • 1 回答
  • 0 關注
  • 1234 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號