世界上不同国家有不同的写日期的习惯。比如美国人习惯写成“月-日-年”,而中国人习惯写成“年-月-日”。下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯的日期。
输入格式:
输入在一行中按照“mm-dd-yyyy”的格式给出月、日、年。题目保证给出的日期是1900年元旦至今合法的日期。
输出格式:
在一行中按照“yyyy-mm-dd”的格式给出年、月、日。
#include<stdio.h>
int main()
{
int y = 0, m = 0, d = 0;
scanf("%d-%d-%d", &m, &d, &y);
//先按月分情况讨论,
if (m >= 10)
{
//再按日分情况讨论,
if (d >= 10)
{
printf("%d-%d-%d", y, m, d);
}
else
{
printf("%d-%d-0%d", y, m, d);
}
}
else
{
if (d >= 10)
{
printf("%d-0%d-%d", y, m, d);
}
else
{
printf("%d-0%d-0%d", y, m, d);
}
}
}
//不够简洁,补充的看起来舒服些💆
注意:月份与日期前的0;
还有以下代码可行:
一:
#include<stdio.h>
int main()
{
int a,b,c; scanf("%d-%d-%d",&a,&b,&c);
printf("%04d-%02d-%02d", c, a, b);
return 0;
}
二:
#include<stdio.h>
int main()
{
char a[10];
scanf("%s",a);
printf("%c",a[6]);
printf("%c",a[7]);
printf("%c",a[8]);
printf("%c",a[9]);
printf("%c",a[5]);
printf("%c",a[0]);
printf("%c",a[1]);
printf("%c",a[2]);
printf("%c",a[3]);
printf("%c",a[4]);
}
三:这种我也不太会,其他帖子上看到的
#include<stdio.h>
int main()
{
char str[20];
scanf("%s",str);
for(int i=6;i<=9;i++)
{
printf("%c",str[i]);
}
printf("-");
for(int i=0;i<=4;i++)
{
printf("%c",str[i]);
}
}