1. c语言输入年份和天数输出对应的年月日
C语言输入年份和天数输出对应的年月日的源代码如下:
#include<iostream>
intday(int&year,int&month);
intmain()
{
intyear{};
intmonth{};
std::cout<<"请输入年和月(空格隔开):";
std::cin>>year>>month;
std::cout<<"该月天数:"<<day(year,month)<<' ';
return0;
}
(1)c语言按年月格式输出日期扩展阅读
1、C++ 标准库没有提供所谓的日期类型。C++ 继承了 C 语言用于日期和时间操作的结构和函数。为了使用日期和时间相关的函数和结构,需要在 C++ 程序中引用 <ctime> 头文件。
2、有四个与时间相关的类型:clock_t、time_t、size_t和tm。类型 clock_t、size_t 和 time_t 能够把系统时间和日期表示为某种整数。
2. C语言中如何把月日年输出为年月日
这要看原来的程序中,月日年是怎么组织的?如果分别存放在三个变量中,那么只要把这三个变量的输出顺序交换一下就可以了。
例如,
int y,m,dm,d;
printf("请输入月 日 年:");
scanf("%d%d%d",&m,&d,&y);
printf("%d年%d月%d日",y,m,d);
3. c语言如何按照日期区间输出
函数按照参数fmt所设定格式将time类型的参数格式化为日期时间信息。
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。
C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言,尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
C语言发展历史。
C语言是一门面向过程的计算机编程语言,与C++、C、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势,计算机系统设计以及应用程序编写是C语言应用的两大领域。
4. 用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;
}
程序运行结果如下:
(4)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;
}
5. C语言 输入一位学生的生日(年 月 日),并输入当前的日期(年 月 日),输出该生的实际年龄。
#include<stdio.h>
main()
{
int y0,m0,d0,y1,m1,d1,y,m,d;
while(1)
{
printf("请输入学生的生日");scanf("%d %d %d",&y0,&m0,&d0);
printf("请输入当前的日期");scanf("%d %d %d",&y1,&m1,&d1);
y=y1-y0;
m=m1-m0;
d=d1-d0;
//printf("该学生的年龄为%d岁%d月%d天",y,m,d);
if(y>=0)
{
if(m>=0)
{
if(d>=0)printf("1该学生的年龄为%d岁",y);//y>=0,m>=0,d>=0输出年龄
else
{
m=m-1;//如果d<0,m减1,再判断m是否大于等于0
if(m>=0)printf("2该学生的年龄为%d岁",y);//y>=0,m>=0,d<0输出年龄
else
{
y=y-1;//如果m<0,y减1,再判断y是否大于等于0
if(y>=0)printf("3该学生的年龄为%d岁",y);//y>=0,m<0,d<0输出年龄
else
{
printf("4输入有误");//y<0,m<0,d<0
}
}
}
}
else //那么在y>=0,而m<0的情况下
{
y=y-1;
if(y>=0)printf("6该学生的年龄为%d岁",y);
else
{
printf("7输入有误");
}
}
}
else printf("5输入有误");//最先判断年份,如果y<0,就错了,因为当前日期不可能小于学生的生日
getchar();
getchar();
}
}
6. c语言输出年月日
下面是这段代码,配合注释体会一下吧
#include <stdio.h>
void MonthDay(int year,int yearDay,int *pMonth,int *pDay);
int main()
{
int year,yearDay,month,day;
scanf("%d%d",&year,&yearDay);//输入年份和天数
MonthDay(year,yearDay,&month,&day);
printf("%d-%d-%d",year,month,day);
return 0;
}
void MonthDay(int year,int yearDay,int *pMonth,int *pDay)
{
int days[12]={31,28,31,30,31,30,31,31,30,31,30,31};//这个数组保存每月的天数
if(year%4==0&&year%100!=0||year%400==0)//判断是否为闰年
days[1]=29;//闰年的二月有29天
*pMonth=1;//从一月开始看
while(yearDay>days[*pMonth-1])//如果哪一天超出这个月
{
yearDay-=days[*pMonth-1];//求出超出此月的天数
(*pMonth)++;//继续考虑下一月
}
*pDay=yearDay;
}
7. 求助!用c语言编程:按年月日输出系统日期按时分秒输出系统时间。要求包含结构体;高手谢谢了O(∩_∩)O~
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
struct MyTime
{
int year;
int month;
int day;
int hour;
int min;
int sec;
void set()
{
char buffer[10];
time_t tt = time( NULL);
struct tm * t = gmtime(&tt);
/*
size_t strftime( char *str, size_t maxsize, const char *fmt, struct tm *time );
功能:函数按照参数fmt所设定格式将time类型的参数格式化为日期时间信息,
然后存储在字符串str中(至多maxsize 个字符)。用于设定时间不同类型的代码为
*/
strftime(buffer,10,"%Y",t);
/*
atoi(char* str)
功能:将字符串str转换成一个整数并返回结果
*/
year = atoi(buffer);
strftime(buffer,10,"%m",t);
month = atoi(buffer);
strftime(buffer,10,"%d",t);
day = atoi(buffer);
strftime(buffer,10,"%H",t);
hour = atoi(buffer);
strftime(buffer,10,"%M",t);
min = atoi(buffer);
strftime(buffer,10,"%S",t);
sec = atoi(buffer);
}
int print()
{
set();
return printf("%4d-%.2d-%.2d %.2d:%.2d:%.2d",year,month,day,hour,min,sec);
}
};
int main(int argc, char *argv[])
{
struct MyTime t;
int printCharNum = 0;
int i;
while(1)
{
printCharNum = t.print();
// 清屏
for(i = 0 ; i < printCharNum ; i ++)
{
printf("\b");
}
}
return 0;
}
8. c语言输入一个年月日,要求输出这一天是该年的第几天
第1个:i<=12
第2个:break;
第3个:d=30;break;
第4个: (year%4!=0) || (year%100==0&&year%400!=0)
第5个:days