DOTCPP:有关1049心得

本文介绍了一个C语言程序,用于计算输入日期在一年中的第几天,特别考虑了闰年的情况。通过结构体存储日期信息,利用数组记录各个月份天数,结合闰年判断函数,实现了日期计算的准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述

定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。
输入年月日
输出当年第几天

思路

这里只需要注意判断年份是否为闰年即可,若为闰年则在总数上再加一

代码

#include<stdio.h>
struct date
{
 int year;
 int month;
 int day; 
}; 
struct date;
int isLeap(int);
int main()
{
 int sum = 0, i;
 struct date Date;
 int mon[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
 scanf("%d %d %d", &Date.year, &Date.month, &Date.day);
 for(i = 0; i < Date.month - 1; i++)
 {
  sum += mon[i];
 }
 sum += Date.day;
 if(isLeap(Date.year))
 {
  sum += 1;
 }
 printf("%d", sum);
 return 0;
}
int isLeap(int year)
{
 if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
  return 1;
 else
  return 0;
}

易错点

我声明结构体Date的时候直接使用语句date Date,虽然在dev上可以正常运行,但是在网站上的时候编译没有通过,记得在声明结构体时加上struct!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值