方法一(快捷):
#include <stdio.h>
//输入出生年月日(如 20130802 输出 year=2013 month=08 date=02)
int main()
{
int year,month,day;
printf("请输入年月日:");
scanf("%4d%2d%2d",&year,&month,&day);
printf("year=%4d month=%02d day=%02d",year,month,day);
return 0;
}
方法二(麻烦):
/*定义三个数组,分别存放年月日的各个位数,首先将输入的年月日看作是一个整体,然后切分写入数组中,最后分别输出*/
#include <stdio.h>
int main()
{
int year[4],month[2],day[2],sum;
printf("请输入年月日(8位):");
scanf("%d",&sum);
for(int i=0;i<2;i++)//切分个位与十位,相当于天
{
day[i]=sum%10;
sum=sum/10;
}
for(int i=0;i<2;i++)//切分百位与千位,相当于月
{
month[i]=sum%10;
sum=sum/10;
}
for(int i=0;i<4;i++)//切分万位,十万位,百万位与千万位,相当于年
{
year[i]=sum%10;
sum=sum/10;
}
printf("year=");
for(int i=3;i>=0;i--)//倒叙输出年数组的各个位数
{
printf("%d",year[i]);
}
printf(" month=");
for(int i=1;i>=0;i--)//倒叙输出月数组的各个位数
{
printf("%d",month[i]);
}
printf(" day=");
for(int i=1;i>=0;i--)//倒叙输出天数组的各个位数
{
printf("%d",day[i]);
}
return 0;
}