首页 > 试题广场 >

出生日期输入输出

[编程题]出生日期输入输出
  • 热度指数:104549 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
输入一个人的出生日期(包括年月日),将该生日中的年、月、日分别输出。

数据范围:年份满足 ,月份满足 ,日满足

输入描述:
输入只有一行,出生日期,包括年月日,年月日之间的数字没有分隔符。


输出描述:
三行,第一行为出生年份,第二行为出生月份,第三行为出生日期。输出时如果月份或天数为1位数,需要在1位数前面补0。
示例1

输入

20130225 

输出

year=2013
month=02
date=25

备注:

通过scanf函数的%m格式控制可以指定输入域宽,输入数据域宽(列数),按此宽度截取所需数据;通过printf函数的%0格式控制符,输出数值时指定左面不使用的空位置自动填0。

#include <stdio.h>

int main()
 {
    int y,m,d=0;
    scanf("%4d%2d%2d",&y,&m,&d);
    if(y>=1990&&y<=2015&&m>=1&&m<=12&&d>=1&&d<=30)
    {
        printf("year=%d\nmonth=%02d\ndate=%02d",y,m,d);
    }

    return 0;
}

发表于 2024-11-22 23:08:33 回复(0)
#include <stdio.h>
int main(){
    int a=0;
    scanf("%d",&a);
    int year=a/10000;
    int month=a%10000/100;
    int date=a%100;
    printf("year=%d\n",year);
    if(month<10)
    printf("month=0%d\n",month);
    if(month>=10)
    printf("month=%d\n",month);
    if(date<10)
    printf("date=0%d\n",date);
    if(date>=10)
    printf("date=%d\n",date);
    return 0;
}
最笨的方法给到大家
发表于 2024-11-08 20:50:32 回复(0)
#include<stdio.h>
int main()
{
int a=0;

scanf("%d",&a);
int year=a/10000;
int b=a%10000;
int month=b/100;
int date=b%100;
printf("year=%.4d\n",year);
printf("month=%.2d\n",month);
printf("date=%.2d\n",date);

    return 0;
}
发表于 2024-07-27 13:26:01 回复(0)
#include <stdio.h>

int main() {
    int year = 0;
    int mont = 0;
    int day = 0;
    scanf("%4d %2d %2d",&year, &mont, &day);//年份是4位数 月份是2位数 天是2位数
    printf("year=%4d\n",year); //取4位数
    printf("month=%02d\n",mont);//%02d :再取2位 当为1时(即1位数)在前面补0
    printf("date=%02d\n",day);//%02d:再取2位 当为1时(即1位数)在前面补0
    return 0;
}
发表于 2024-05-11 09:24:12 回复(0)
#include <stdio.h>
int main()
{
	int year = 0;
	int month = 0;
	int date = 0;
	//按照格式输入
	scanf("%4d%2d%2d", &year, &month, &date);
	printf("year=%4d\n", year);
	printf("month=%02d\n", month);
	printf("date=%02d\n", date);
	return 0;
}

编辑于 2024-04-12 15:28:01 回复(0)
#include <stdio.h>

int main() {
  int y = 0, m = 0,d = 0;
  while(1)
  {
    //printf("请输入出生日期\n");//(跳出了题目要求,用户行为必须约束)
    scanf("%4d%2d%2d", &y, &m, &d);
    if(y >= 1900 && y <= 2015 && m >= 1 && m <= 12 && d >= 1 && d <= 30)
    {
        printf("year=%4d\nmonth=%02d\ndate=%02d\n", y, m, d);
        break;
    }
    else
    {
        printf("输入错误请重新输入\n");
    }
  }
  return 0;
}

发表于 2024-03-20 12:41:25 回复(0)
#include <stdio.h>

int main() {
    int year, month,day,temp;
    int cc;
    scanf("%d",&cc);
    year=cc/10000;
    month=cc/100%100;
    day=cc%100;
if (year>=1990&&year<=2015&&month>=1&&month<=12&&day>=1&&day<=30) {
    printf("year=%d\n",year);
    printf("month=%02d\n",month);
    printf("date=%02d\n",day);
    }
    return 0;
}
发表于 2024-03-06 10:22:34 回复(1)
#include <stdio.h>

int main() 
{
    int y, m, d;

    scanf("%4d%2d%2d", &y, &m, &d);

    printf("year=%d\nmonth=%02d\ndate=%02d", y, m, d);

    return 0;
}

编辑于 2024-03-02 19:22:13 回复(0)
#include <stdio.h>
#include <string.h>

int main() {
    char ch[8];
    char year[4],month[2],date[2];
    scanf("%s",ch);
    strncpy(year,ch,4);
    strncpy(month,ch+4,2);
    strncpy(date,ch+6,2);
    printf("year=%.4s\n",year);
    printf("month=%.2s\n",month);
    printf("date=%.2s\n",date);

    return 0;
}
我恨c语言没有java的substring函数
编辑于 2024-01-16 16:22:36 回复(0)
#include <stdio.h>

int main() {
    int a=0;
    scanf("%d",&a);
    printf("year=%d\n",a/10000);
    printf("month=%02d\n",(a/100)%100);
    printf("date=%02d\n",a%100);

    return 0;
}
编辑于 2024-01-09 20:16:02 回复(0)
#include <stdio.h>

int main() {
    int a,b,c;
    scanf("%4d%2d%2d", &a,&b,&c);
    printf("year=%d\n", a);
    printf("month=%0*d\n", 2,b);
    printf("date=%0*d", 2,c);
    return 0;
}
编辑于 2024-01-05 14:02:50 回复(0)
#include <stdio.h>

int main() {
    int a, year, month, date;
    scanf("%d", &a);
    year = a / 10000;
    month = (a - year * 10000) / 100;
    date = a - year * 10000 - month * 100;
    printf("year=%d\n",year);
    printf("month=%02d\n",month);
    printf("date=%02d",date);
    return 0;
}
编辑于 2023-12-30 17:37:27 回复(0)
#include <stdio.h>
int main() {
int a,y,m,d;
scanf("%d",&a);
d=a%100;
m=(a%10000-d)/100;
y=(a-m*100-d)/10000;
printf("year=%04d\nmonth=%02d\ndate=%02d\n",y,m,d);
    return 0;
}
编辑于 2023-12-23 20:52:29 回复(0)
#include <stdio.h>

int main ()
{
    int year=0;
    int month=0;
    int date=0;
    scanf("%4d %2d %2d\n", &year,&month,&date);
    printf("year=%4d\n",year);
    printf("month=%02d\n",month);
    printf("date=%02d\n",date);

    return  0;
}
发表于 2023-11-05 21:18:22 回复(1)
#include <stdio.h>

int main()
{
    int a = 0;
    int b = 0;
    int c = 0;
    scanf("%4d%2d%2d",&a,&b,&c);
    printf("year=%04d\n",a);
    printf("month=%02d\n",b);
    printf("date=%02d\n",c);
    return 0;
}

发表于 2023-11-01 22:17:23 回复(0)
#include <stdio.h>

int main() {
    typedef struct Student {
        int year;
        int month;
        int day;
    } Student;
    Student tStudent;
    int k = 1;
    while (k) {
        int number;
        scanf("%d", &number);
        tStudent.year = number / 10000;
        tStudent.month = (number / 100) % 100;
        tStudent.day = number % 100;
        if (((tStudent.year > 1990) && (tStudent.year < 2015)) &&
                ((tStudent.month > 1) && (tStudent.month < 12)) && ((tStudent.day > 1) &&
                        (tStudent.day < 30)))
            k = 0;
        else
            printf("input err, once again");
    }
    printf("year=%04d\nmonth=%02d\nday=%02d\n", tStudent.year, tStudent.month,
           tStudent.day);
    return 0;
}
发表于 2023-09-19 11:47:58 回复(0)
#include <stdio.h>

int main() {
    int number;
    int a, b,c;
 scanf("%d", &number);
     a=number/10000;
     b=(number/100)%100;
     c=number%100;
     
    printf("year=%d\n",a);
    printf("month=%02d\n",b);
    printf("date=%02d\n",c);
    return 0;
}
发表于 2023-07-22 13:59:30 回复(0)
#include <stdio.h>
int main(){
    int y = 0;
    int m = 0;
    int d = 0;
    scanf("%4d%2d%2d", &y, &m, &d);
    
    printf("year=%d\n",y);

    if (m>0 && m<10) {
        printf("month=0%d\n",m);
    }else {
        printf("month=%d\n",m);
    }

    if (d>0 && d<10) {
        printf("date=0%d\n",d);
    }else {
        printf("date=%d\n",d);
    }
  
    return 0;
}

发表于 2023-06-15 16:34:22 回复(0)
struct Struct
{
	int year;
	int month;
	int date;
};

int main()
{
	struct Struct s;
	int k = 1;
	while (k)
	{
		scanf("%4d%2d%2d", &s.year, &s.month, &s.date);
		if ((s.year >= 1990) && (s.year <= 2015) && (s.month >= 1) && (s.month <= 12) && (s.date >= 1) && (s.date <= 30))
			k = 0;
		else
			printf("请重新输入\n");
	}

	printf("year=%04d\nmonth=%02d\ndate=%02d\n", s.year, s.month, s.date);
}

发表于 2023-03-05 15:59:40 回复(0)