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

#include <stdio.h>
#include<stdlib.h>
int main()

{
    struct nyr NYR;
    int i,days=0;
    int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};  /*定义一个数组用来存放每个月的天数 */

     scanf_s("%d%d%d",&NYR.year,&NYR.month,&NYR.day);/*错误c4996,scanf有安全隐患,改为scanf_s*/

    for(i=1;i<NYR.month;i++) 
        days=days+a[i];/*从第一月开始循环,到n-1月,计算有多少天*/

    days=days+NYR.day; 
    if((((NYR.year%4==0)&&(NYR.year%100!=0))||(NYR.year%400==0))&&NYR.month>=3)  /*若为闰年:能被4整除而不能被100整除;能被400整除*/
        days=days+1;

    printf("%d",days); 

    return 0;
}

用switch case 语句也可以
switch(x)
{
case 1: a++;
case2:
case3:
}
case相当于一个接口,若其后不加break,则继续进入下一个case语句

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值