YTUOJ-计算该日在本年中是第几天(用户自定义类型)

题目描述

定义一个结构体变量(包括年、月、日)。编写一个函数days,由主函数将年、月、日传递给函数days,计算出该日在本年中是第几天并将结果传回主函数输出。

输入

年月日

输出

当年第几天

样例输入

2000 12 31

样例输出

366

提示

主函数已给定如下,提交时不需要包含下述主函数

/* C代码 */

int main()

{

y_m_d date;

int days(y_m_d);

int day_sum;

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

day_sum=days(date);

printf("%d\n",day_sum);

return 0;

}

/* C++代码 */

int main()

{

y_m_d date;

int days(y_m_d);

int day_sum;

cin>>date.year>>date.month>>date.day;

day_sum=days(date);

cout<<day_sum<<endl;

return 0;

}

全代码如下:

#include <iostream>
using namespace std;
struct y_m_d
{
    int year;
    int month;
    int day;
};

int days(y_m_d d)
{
    int Days=d.day;
    for (int i=1; i<d.month; i++)
    {
        if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
            Days+=31;
        else if (i==4||i==6||i==9||i==11)
            Days+=30;
        else if (((d.year)%4==0 && (d.year) % 100 != 0)||(d.year)% 400 == 0)
            Days+=29;
        else
            Days+=28;
    }
    return Days;
}
int main()

{

    y_m_d date;

    int days(y_m_d);

    int day_sum;

    cin>>date.year>>date.month>>date.day;

    day_sum=days(date);

    cout<<day_sum<<endl;

    return 0;

}

运行结果:

两周没有刷oj了,突然发现连日期怎么计算都纠结了好久,还是去看以前的博客才搞定,,,唉,必须找找状态了

时间: 2024-10-04 20:56:00

YTUOJ-计算该日在本年中是第几天(用户自定义类型)的相关文章

YTUOJ-计算该日在本年中是第几天(用户自己定义类型)

题目描写叙述 定义一个结构体变量(包含年.月.日).编写一个函数days,由主函数将年.月.日传递给函数days,计算出该日在本年中是第几天并将结果传回主函数输出. 输入 年月日 输出 当年第几天 例子输入 2000 12 31 例子输出 366 提示 主函数已给定例如以下.提交时不须要包括下述主函数 /* C代码 */ int main() { y_m_d date; int days(y_m_d); int day_sum; scanf("%d%d%d",&date.yea

计算1到100000中出现93的次数

一个同学在群上要求出计算1到100000中出现93的次数,然后,我就写脚本了. cat count.sh  #!/bin/bash sum=0 for num in {1..100000} do echo $num | grep 93 [ $? -eq 0 ] && ((sum=sum+1)) done echo "sum=$sum" 然后有同学给出答案了,秒杀我一万里 seq 1 100000 | grep 93 |wc -l 我想静静  /(ㄒoㄒ)/~~   让我

用户输入年,月,日,计算该日是该年的第几天?需要考虑2月份的问题

1 class Program 2 { 3 static void Main(string[] args) 4 { 5 //用户输入年,月,日,计算该日是该年的第几天?需要考虑2月份的问题 6 int year = 2015; 7 int month = 5; 8 int day = 8; 9 10 //计算是哪年 哪月 哪日 11 //1,3,5,7,8,10,12是31 12 //闰年29天,平年28天 13 //4,6,9,11是30天 14 //占时认为2月份是28天 15 16 //储

【译】 AWK教程指南 3计算并打印文件中指定的字段数据

awk 处理数据时,它会自动从数据文件中一次读取一条记录,并会将该记录切分成一个个的字段:程序中可使用 $1, $2,... 直接取得各个字段的内容.这个特色让使用者易于用 awk 编写 reformatter 来改变数据格式. 范例:以数据文件 emp.dat 为例,计算每人应发工资并打印报表. 分析:awk 会自行一次读入一条记录,故程序中仅需告诉 awk 如何处理所读入的数据行. 执行如下命令:($ 表UNIX命令行上的提示符)  $ awk '{ print $2, $3 * $4 }'

使用linq计算元素在列表中出现的次数c#代码

c#使用linq计算元素在列表中出现的次数,调用方法非常简单,和sql语句很像 //codego.net计算的次数一个项目出现在这个列表 public static int CountTimes<T>(this List<T> inputList, T searchItem){return ((from t in inputList where t.Equals(searchItem) select t).Count());}

python学习之——计算给出代码中注释、代码、空行的行数

题目:计算给出代码中注释.代码.空行的行数 来源:网络 思路:注释行以 ‘#’开头,空行以 ‘\n’ 开头,以此作为判断 def count_linenum(fname): fobj = open(fname,"rU") #print fobj.readlines() count_blankline = 0 count_notes = 0 count_code = 0 for eachLine in fobj: if eachLine[0] == '\n': count_blankli

计算任意无序字符串中的最大有序串

private void compare() { //定义个无序字符串 String str = "sdifsdafsdabfwqicweedio"; //置于hashset去重 HashSet<Character> set = new HashSet<Character>(); for (int i = 0; i < str.length(); i++) { set.add(str.charAt(i)); } System.out.println(&qu

边缘计算在智慧城市中的应用【摘录】

在中国,智慧城市是城市化发展的高级阶段,智慧城市建设是推进符合中国特色的城市信息化样本,兼具战略和现实意义.智慧城市构想是创造“宜居.舒适.安全”的城市生活环境,要改善城市综合管理.经济建设.民生服务等方面,实现城市“感知.互联和智慧”.要实现这一目标,离不开先进和创新的技术支撑. 从铺设网络.装置传感器.搭建系统平台到实现数据全采集,边缘计算在智慧城市中有着丰富的应用场景.在道路两侧路灯杆上安装传感器,便于收集城市路面信息,检测空气质量.光照强度.噪音水平等环境数据.当路灯发生故障时能够即时反

C语言中的系统时间结构体类型

在C语言涉及中经常需要定时触发事件,涉及到获取系统时间,其结构体类型有多种.Unix/Linux系统下有以下几种时间结构: 1.time_t 类型:长整型,一般用来表示从1970-01-01 00:00:00时以来的秒数,精确度:秒:由函数time()获取: 该类型定义在头文件 /usr/include/sys/time.h 中: #define _TIME_T       typedef   long   time_t;             #endif 函数定义:time_t   tim