C語言里格式控制符0的使用


問題:輸入只有一行,出生日期,包括年月日,年月日之間的數字沒有分隔符。
輸出三行,第一行為出生年份,第二行為出生月份,第三行為出生日期。輸出時如果月份或天數為1位數,需要在1位數前面補0

示例:
輸入:20130225
輸出:year=2013
month=02
date=25

#include<stdio.h>
int main()
{
    int year,month,day;
    scanf("%4d%2d%2d",&year,&month,&day);
    printf("year=%4d\n",year);
    printf("month=%02d\n",month);
    printf("date=%02d\n",day);
    return 0;
}

需要注意的點:

  • 輸入數據時分成三段,如弄成一個數字則不好操作
  • 格式控制符中的0:有0表示指定空位填0,如省略表示指定空位不填
  • m.n 指定輸出域寬度及精度
    m表示數據最小寬度,如果實際數據寬度>m,按實際數據寬度輸出,如果實際數據寬度<m,左邊補空格。n對於實數來講表示n位小數,對於字符串來講,表示截取的字符個數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM