计算该日在本年中是第几天
2016-12-16 11:57
218 查看
问题及代码:
烟台大学计算机与控制工程学院
作者:毕春超
完成日期:2016年12月16日
题目描述
定义一个结构体变量(包括年、月、日)。编写一个函数days,由主函数将年、月、日传递给函数days,计算出该日在本年中是第几天并将结果传回主函数输出
#include<stdio.h>
struct y_m_d
{
int year;
int month;
int day;
};
int days(struct y_m_d date)
{
int s,j,f,sum;
f=29;
s=30;
j=31;
if((date.year%4==0 && date.year%100!=0) || date.year%400==0)
{
if(date.month==1)
sum=date.day;
if(date.month==2)
sum=j+date.day;
if(date.month==3)
sum=j+f+date.day;
if(date.month==4)
sum=2*j+f+date.day;
if(date.month==5)
sum=2*j+f+s+date.day;
if(date.month==6)
sum=3*j+f+s+date.day;
if(date.month==7)
sum=3*j+f+2*s+date.day;
if(date.month==8)
sum=4*j+f+2*s+date.day;
if(date.month==9)
sum=5*j+f+2*s+date.day;
if(date.month==10)
sum=5*j+f+3*s+date.day;
if(date.month==11)
sum=6*j+f+3*s+date.day;
if(date.month==12)
sum=6*j+f+4*s+date.day;
}
else
{
if(date.month==1)
sum=date.day;
if(date.month==2)
sum=j+date.day;
if(date.month==3)
sum=j+f+date.day-1;
if(date.month==4)
sum=2*j+f+date.day-1;
if(date.month==5)
sum=2*j+f+s+date.day-1;
if(date.month==6)
sum=3*j+f+s+date.day-1;
if(date.month==7)
sum=3*j+f+2*s+date.day-1;
if(date.month==8)
sum=4*j+f+2*s+date.day-1;
if(date.month==9)
sum=5*j+f+2*s+date.day-1;
if(date.month==10)
sum=5*j+f+3*s+date.day-1;
if(date.month==11)
sum=6*j+f+3*s+date.day-1;
if(date.month==12)
sum=6*j+f+4*s+date.day-1;
}
return sum;
}
int main()
{
struct y_m_d date;
int days(struct 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;
}
运算结果
问题及代码:
烟台大学计算机与控制工程学院
作者:毕春超
完成日期:2016年12月16日
题目描述
定义一个结构体变量(包括年、月、日)。编写一个函数days,由主函数将年、月、日传递给函数days,计算出该日在本年中是第几天并将结果传回主函数输出
#include<stdio.h>
struct y_m_d
{
int year;
int month;
int day;
};
int days(struct y_m_d date)
{
int s,j,f,sum;
f=29;
s=30;
j=31;
if((date.year%4==0 && date.year%100!=0) || date.year%400==0)
{
if(date.month==1)
sum=date.day;
if(date.month==2)
sum=j+date.day;
if(date.month==3)
sum=j+f+date.day;
if(date.month==4)
sum=2*j+f+date.day;
if(date.month==5)
sum=2*j+f+s+date.day;
if(date.month==6)
sum=3*j+f+s+date.day;
if(date.month==7)
sum=3*j+f+2*s+date.day;
if(date.month==8)
sum=4*j+f+2*s+date.day;
if(date.month==9)
sum=5*j+f+2*s+date.day;
if(date.month==10)
sum=5*j+f+3*s+date.day;
if(date.month==11)
sum=6*j+f+3*s+date.day;
if(date.month==12)
sum=6*j+f+4*s+date.day;
}
else
{
if(date.month==1)
sum=date.day;
if(date.month==2)
sum=j+date.day;
if(date.month==3)
sum=j+f+date.day-1;
if(date.month==4)
sum=2*j+f+date.day-1;
if(date.month==5)
sum=2*j+f+s+date.day-1;
if(date.month==6)
sum=3*j+f+s+date.day-1;
if(date.month==7)
sum=3*j+f+2*s+date.day-1;
if(date.month==8)
sum=4*j+f+2*s+date.day-1;
if(date.month==9)
sum=5*j+f+2*s+date.day-1;
if(date.month==10)
sum=5*j+f+3*s+date.day-1;
if(date.month==11)
sum=6*j+f+3*s+date.day-1;
if(date.month==12)
sum=6*j+f+4*s+date.day-1;
}
return sum;
}
int main()
{
struct y_m_d date;
int days(struct 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;
}
运算结果
相关文章推荐
- 计算该日是本年的第几天
- 第十六周 OJ 计算该天是本年中的第几天
- 第十六周-计算该日在本年中是第几天
- 1100: C语言程序设计教程(第三版)课后习题11.1--定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天。【两种方法】
- 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天?注意闰年问题
- 第十六周oj题目计算该日是本年的第几天
- [YTU]_2428(C语言习题 计算该日在本年中是第几天)
- C/C++复习:计算该日期是本年中的第几天(优化版2)
- 3、定义一个结构体变量(包含年月日),计算该日在本年中为第几天?要求写一个days函数。参数是此结构体类型的变量,返回值是整数。
- C语言习题 计算该日在本年中是第几天
- 简化版定义一个结构体变量(包含年月日),计算该日在本年中为第几天?要求写一个days函数。参数是此结构体类型的变量,返回值是整数
- 第16周OJ实践1 计算该日在本年中是第几天
- 定义一个结构体变量(包含年月日),计算该日在本年中为第几天?要求写一个days函数。参数是此结构体类型的变量,返回值是整数。
- YTUOJ-计算该日在本年中是第几天(用户自定义类型)
- YTU 2428: C语言习题 计算该日在本年中是第几天
- 第16周 oj Problem A: C语言习题 计算该日在本年中是第几天
- 计算该日在本年中是第几天
- 定义一个结构体变量,计算该日在本年中是第几天?
- 第十六周OJ——计算该日在本年中是第几天
- C/C++练习题 定义一个日期变量,进行年、月、日的输入,计算该日期是本年中的第几天。