今天在牛客网中做了一道题,这道题需要使用%m进行格式控制
下面来讲一下%md 的输入输出的用法
1.%md在输入语句中的使用
通过scanf函数的%m格式控制可以指定输入域宽,输入数据域宽(列数),
超出m位只读m位,不足m位则按实际位数读入
如果输入两位数2<m,原样输出
如果输入4位数4>m,输出m的位数
2.%md在输出语句中的使用
在输出语句中,%md 表示输出的宽为m位。
但另有附加规定:当所给宽度不足(即m<要输出数字的实际宽度)时,忽略m,原样输出要输出的值。
可以看到这样输出,如果输出比m位数大的数字时,在左边补空格
3.%0d在输出语句中的使用
通过printf函数的%0格式控制符,输出数值时指定左面不使用的空位置自动填0。
可以看到如果所要输出的位数前面加上 0,就会在超过m的情况下,给左边的数字加上0.
4.练习一下在牛客网的一道题
链接出生日期输入输出_牛客题霸_牛客网 ()
代码编译
#include<stdio.h>int main(){int a=0,b=0,c=0;scanf("%4d%2d%2d",&a,&b,&c);printf("year=%d\nmonth=%02d\ndate=%02d\n",a,b,c);return 0;}