当前位置:首页 » 编程语言 » 输出对应的年月日c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

输出对应的年月日c语言

发布时间: 2023-04-11 06:40:04

‘壹’ c语言中如何把月日年输出为年月日

这要看原来的程序中,月日年是怎么组织的?如果分别存放在三个变量中,那么只要把这三个变量的输出顺序交换一下就可以了。
例如,
int y,m,dm,d;
printf("请输入月 日 年:");
scanf("%d%d%d",&m,&d,&y);
printf("%d年%d月%d日",y,m,d);

‘贰’ C语言年月日输出问题

首先,你的闰年判断就有问题。教你个口诀:好谈“四年一润,一百年不润,四百年再润”。
其实就可以用if(yr%4==0||yr%100!=0&&yr%400==0){那么是闰年}
你的检验判断也可以利用mont数组的,首先判断是不是在闰年,然后判断输入days是不友迹碰是大于的mont[mn](州搜如果是闰年要判断二月+1)。

‘叁’ C语言问题 请输入自己的身份证号,输出出生年月日

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
intmain()
{
charid[]="46198704030811";
printf("请输入您的身份证号(18位数字): ");
scanf("%s",id);
printf("您出生在%c%c%c%c年%c%c月%c%c日 ",id[6],id[7],id[8],id[9],id[10],id[11],id[12],id[13]);
system("pause");
return0;
}

‘肆’ C语言格式化输入输出(关于日期)

写下这篇文章,主要是记载自己的学习心得,同时也分享给所有正在学习c语言的小白们。

关于日期的输出呢,看起来是挺简单的,但当题目要求输入比如:2019--10--01或者2019--09--10,正在学习c语言的人(包括我)就会卡在这,如何将1~9的“0”一起输出呢?

其实很简单,这里巧用“0”,既然题目说到0n(n代表1~9月或者日期),那我们肯定要用到“0”呀,那这个“0”该放哪呢,又是个问题。

但不用慌,想想我们之前的输出,就应该知道这个“0”应该这样 printf("%02d",&n);, 而那个2怎么来的呢,就是代表整个宽度为2(因为月份,日期最大占两位数),即%04d表示在输出一个小于4位的数值时,将在前面补0使其总宽度为4位。

因此,在日期时应该: printf("%d %02d %02d",year,month,day);

下面直接放题:

按 yyyy/mm/dd 形式从键盘输入一个日期,按yyyy--mm--dd 形式输出该日期,其中 yyyy, mm, dd 分别表示年、月、日。

输入:

2019/10/01

输出:

2019--10--01

#include<stdio.h>

int main()

{

int year,month,day;

scanf("%d/%d/%d",&year,&month,&day);

printf("%d--%02d--%02d",year,month,day);

}

没错这就可以了,这篇呢只是为了巩固做题的思路,以及给所有的小白看的。当然,还需要大佬们的指导。

‘伍’ 用C语言定义一个包含数组的Date类型的函数,输出年,月,日

#includestructdate//定义结构体类型{inty;intm;intd;};voidmain(){datedt;//定义结构体变量inti,count,mon[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};printf("请输入日期(年月日):");scanf("%d",&dt.y);scanf("%d",&dt.m);scanf("%d",&dt.d);count=dt.d;//把dt.d计入总天数for(i=0;i2&&(dt.y%4==0&&dt.y%100!=0||dt.y%400==0))count+=1;//如果是闰年,则要把3月份和3月份以后的总天数加1printf("这一日是这一年的第%d天\n",count);}

‘陆’ c语言输入一个天数,输出对应的年月天

#include<stdio.h>
intmain()
{
inti,n=0,year=0,month=0,day=0;
printf("请输入天数<输入-1退出测试>:");
scanf("%d",&n);
while(n!=-1)
{
while(n>=360)
{
n-=360;
year++;
}
while(n>=30)
{
n-=30;
month++;
}
while(n>0)
{
n--;
day++;
}
printf("%d年%d月%d日 ",year,month,day);
year=month=day=0;
printf("请输入天数<输入-1退出测试>:");
scanf("%d",&n);
}
return0;
}

‘柒’ C语言输入年份和天数输出对应的年月日

C语言输入年份和天数输出对应的年月日的源代码如下:

#include<iostream>

intday(int&year,int&month);

intmain()

{

intyear{};

intmonth{};

std::cout<<"请输入年和月(空格隔开):";

std::cin>>year>>month;

std::cout<<"该月天数:"<<day(year,month)<<' ';

return0;

}

(7)输出对应的年月日c语言扩展阅读

1、C++ 标准库没有提供所谓的日期类型。C++ 继承了 C 语言用于日期和时间操作的结构和函数。为了使用日期和时间相关的函数和结构,需要在 C++ 程序中引用 <ctime> 头文件。

2、有四个与时间相关的类型:clock_t、time_t、size_t和tm。类型 clock_t、size_t 和 time_t 能够把系统时间和日期表示为某种整数。

‘捌’ 用c语言从键盘任意输入一个日期(年月日),输出第二天的日期(年月日)。

源程序如下:

#include "pch.h"

#define _CRT_SECURE_NO_WARNINGS

#include <iostream>

using namespace std;

int main()

{

int s[2][13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31,

0,31,29,31,30,31,30,31,31,30,31,30,31, };

int year = 0;

int month = 0;

int day = 0;

int n, i, daytemp;

int flag = 0;

int nyear = 0, nmonth = 0, nday = 0;

printf("输入年月日 ");

scanf("%d%d%d", &year, &month, &day);

//printf("输入天数 ");

//scanf("%d",&n);

n = 1;

if (year < 0 || month < 0 || month>12 || day < 1 || n < 0)

{

printf("输入数据错误 ");

return 1;

}

daytemp = day + n;//累加天数

if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)//闰年置1

flag = 1;

if (day > s[flag][month])

{

printf("输入日期与年月不符. ");

return 1;

}

if (daytemp <= s[flag][month])//当前日期加天数在本月

{

nyear = year;

nmonth = month;

nday = daytemp;

}

else

{

i = month;

nyear = year;

while (daytemp > s[flag][i])//循环递减,直到当前日期加天数在本月

{

daytemp = daytemp - s[flag][i];

i++;

if (i > 12)//超过一年,年累加核姿

{

nyear++;

if ((nyear % 4 == 0 && nyear % 100 != 0) || nyear % 400 == 0)

flag = 1;

else

flag = 0;

i = i - 12;

}

}

nmonth = i;

nday = daytemp;

}

printf("%d年%d月%d日第%d天后是: ", year, month, day, n);

printf("%d年%d月%d日 ", nyear, nmonth, nday);

return 0;

}

程序运行结果如下:



(8)输出对应的年月日c语言扩展阅读:

其他实现方式:

int monthsize(int year, int month) {

int days;

if (month == 2) {

正旦if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)

return 29;

return 28;

}

switch (month) {

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:days = 31; break;

case 4:

case 6:

case 9:

case 11: days = 30; break;

}

return days;

}

int main()

int year, month, day, days;

printf("年 月 日:"改清绝);

while (scanf("%d%d%d", &year, &month, &day) == 3) {

days = monthsize(year, month);

if (days == day) {

if (month == 12) {

++year;

month = 1;

day = 1;

}

else ++month;

}

else ++day;

printf("第二天是:%d/%02d/%02d ", year, month, day);

printf("年 月 日(q to quit):");

}

return 0;

}

‘玖’ C语言:输入身份证号,输出出生年月日

C语言,数字不能和字符串运算。

如果仅为了这样输出,可以全部用字符数组变量。

char year[5],month[3],day[3];

...

charyears[5],month[3],day[3];
...
while(i>=6&&i<10)
{
years[i-6]=str[i];
i++;
}
while(i>=10&&i<12)
{
month[i-10]=str[i];
i++;
}
while(i>=12&&i<14)
{
day[i-12]=str[i];
i++;
}
printf("你是%s年%s月%s日出生的人 ",years,month,day);

这是没有使用字符串操作函数也没有使用指针的方法。

‘拾’ c语言设计万年历 输入任意年份,输出该年12个月份 输入任意年份月份,输出该年月日历

#include<stdio.h>
#include<time.h>
#include<malloc.h>
enumMONTH{January=1,February,March,April,May,June,July,August,September,October,November,December};
structtm*getDate(intyear,intmon);
voidprintTime(time_ttheTime,intyear);
intmain()
{
enumMONTHmon;
time_ttheTime;
structtm*date;
intyear,m;
while(1)
{
printf("输入任意年份及月份: ");
scanf("%d%d",&year,&m);
if(m<1||m>12)
{
printf("月份超出范围,重新输入! ");
continue;
}
mon=m;
break;
}
date=getDate(year,mon);
theTime=mktime(date);//从1900年至此的秒数
printTime(theTime,year);
return0;
}
structtm*getDate(intyear,intmon)
{
structtm*date=(structtm*)malloc(sizeof(structtm));
date->tm_sec=0;
date->tm_min=0;
date->tm_hour=0;
date->tm_year=year-1900;
date->tm_mon=mon-1;
date->tm_mday=1;
date->tm_yday=0;
returndate;
};
voidprintTime(time_ttheTime,intyear)
{
inty,m,wday,i,j;
charwd[7][7]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
structtm*date;
date=localtime(&theTime);
y=date->tm_year+1900;
m=date->tm_mon+1;
wday=date->tm_wday;
printf(" ------------------开始生成日历---------------------- ");
printf("%d年%02d月 ",y,m);
i=0;
for(j=0;j<7;j++)
{
printf("%s",wd[wday++]);
if(wday>6)
wday=0;
}
printf(" ");
while(1)
{
if(date->tm_mon+1>m)
{
printf(" ");
break;
}
printf("%02d日",date->tm_mday);
if(++i==7)
{
printf(" ");
i=0;
}
theTime+=24*60*60;
date=localtime(&theTime);
}
}