进阶项目6-日期结构体
2016-07-29 22:08
232 查看
任务和代码:定义一个结构体变量(包括年、月、日),要求输入年、月、日,计算输出该日是该年的第几天
/*
文件名:main.c
作者:小风景
完成日期:2016.7.28
问题描述:定义一个结构体变量(包括年、月、日),要求输入年、月、日,计算输出该日是该年的第几天
程序输出:
*/
#include <stdio.h>
int countday(struct Date *date);
int d[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
struct Date
{
int year;
int month;
int day;
};
int main()
{
struct Date date;
printf("input year,month,day:");
scanf("%d %d %d", &date.year, &date.month, &date.day);
int days;
days = countday(&date);
printf("%d月%d日是%d年的第%d天.\n", date.month, date.day, date.year, days);
return 0;
}
int countday(struct Date *date)
{
int days = 0;
int i = 0;
//将前n个月的天数加起来
for(i = 0;i < date->month;i++)
{
days += d[i];
}
//加上这个月的天数
days += date->day;
//如果是润年并且大于二月,应该加上1天
if((date->month > 2) && (date->year %4 == 0 && date->year % 100 != 0 || date->year % 400 == 0))
{
days += 1;
}
return days;
}
程序运行结果;
/*
文件名:main.c
作者:小风景
完成日期:2016.7.28
问题描述:定义一个结构体变量(包括年、月、日),要求输入年、月、日,计算输出该日是该年的第几天
程序输出:
*/
#include <stdio.h>
int countday(struct Date *date);
int d[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
struct Date
{
int year;
int month;
int day;
};
int main()
{
struct Date date;
printf("input year,month,day:");
scanf("%d %d %d", &date.year, &date.month, &date.day);
int days;
days = countday(&date);
printf("%d月%d日是%d年的第%d天.\n", date.month, date.day, date.year, days);
return 0;
}
int countday(struct Date *date)
{
int days = 0;
int i = 0;
//将前n个月的天数加起来
for(i = 0;i < date->month;i++)
{
days += d[i];
}
//加上这个月的天数
days += date->day;
//如果是润年并且大于二月,应该加上1天
if((date->month > 2) && (date->year %4 == 0 && date->year % 100 != 0 || date->year % 400 == 0))
{
days += 1;
}
return days;
}
程序运行结果;
相关文章推荐
- android 代码实现控件之间的间距
- 如何组织构建多文件 C 语言程序(二)
- [Android]在代码里运行另一个程序的方法
- 如何写好 C main 函数
- 肯特·贝克:改变人生的代码整理魔法
- 网页恶意代码的预防
- 高手写的Tracer-Flash代码调试类代码下载
- CSS代码缩写技巧
- 非主流Q-zOne代码代码搜集第1/2页
- CreateWeb.vbs 代码
- Lua和C语言的交互详解
- Lua中编译执行代码相关的函数详解
- 更有效率的css代码编写第1/3页
- 代码中到底应不应当写注释?
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解