问题十四:定义一个结构体变量(包括年、月、日),要求输入年、月、日,计算输出该日是该年的第几天。

/***************************************************************
                          C语言
   
                                         AUTHOR:liuyongshui
 问题来源:http://blog.csdn.net/sxhelijian/article/details/8620846
 ***************************************************************/
/*
    问题十四:定义一个结构体变量(包括年、月、日),要求输入年、月、日,计算输出该日是该年的第几天。
*/

#include <stdio.h>    

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

int checkyear(int n);   //原函数的申明,用于检查是闰年还是平年。是闰就返回1,反之返回0
const int Day_Of_Month[]={0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; //平年的每月对应的天数

int main()
{
      int i;
      int flag;
      int sum_day=0;

      struct date birthday;
      printf("输入你出生年月日:");
      scanf("%d %d %d", &birthday.year, &birthday.month, &birthday.day);

      flag=checkyear(birthday.year);
      if(flag)  //是闰就返回1,反之返回0
      {
         sum_day++;
      }

      for(i=0; i<birthday.month; i++)
      {
           sum_day+=Day_Of_Month[i];
      }
      
      sum_day+=birthday.day;

      printf("经过科学计算,您是%d的第%d天出生的。\n", birthday.year, sum_day);

     return 0;
}


// 函数的定义
 int checkyear(int n)
 {
     if((n%4==0 && n%100!=0) || n%400==0)    //是闰年
         return 0;
     else                                    //平年
         return 0;
 }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值