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

本文介绍了一个简单的C语言程序,用于计算输入日期(年、月、日)在该年中是第几天。程序考虑了闰年的情况,并通过结构体来组织日期数据。
本题没有加入正确日期判断功能
#include <stdio.h>

struct date 
{
    
int year; 
    
int month; 
    
int day; 
}; 

int leap_year(int a);
int cal_day(struct date a);

/*判断闰年*/ 
int leap_year(int a)
{
    
if(a%400==0||(a%4==0&&a%100!=0)) 
        
return 1;
    
else 
        
return 0;

//     if(a%400==0)
//         return 1;
//     else if(a%100==0)
//         return 0;
//     else if(a%4==0)
//         return 1;
//     else 
//         return 0;
}

/*计算一年中的第几天*/ 
int cal_day(struct date a) 
{
    
int sum=0,b[]={31,28,31,30,31,30,31,31,30,31,30,31} ;
    
for(int i=0;i<a.month-1;i++
        sum
+=b[i]; 
    
if(a.month>2)
        sum
=sum+a.day+leap_year(a.year); 
    
else
        sum
=sum+a.day;
    
return sum; 


void main()
{
    
struct date a;
    
int n;
    printf(
"\n请输入日期(年 月 日)\n"); 
    scanf(
"%d%d%d",&a.year,&a.month,&a.day); 
    n
=cal_day(a);
    printf(
"该日在本年中是第%d天\n",n);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值