题目分析

     本题主要是训练结构体的创建 声明用法

代码

#include<stdio.h>
leapyear(int a)//判断是否为闰年
{   int b;
    if((a%4==0&&a%100!=0)||(a%400==0))
    b=1;
    else
    b=0;
    return b;

}
struct time//结构体 输入年 月 日
{int year;
 int month;
 int day;
}
main()
{
    struct time a;
    int b,d,i,j=0;
    int c[12]={31,28,31,30,31,30,31,31,30,31,30,30};//对12个月赋值
    scanf("%d%d%d",&a.year,&a.month,&a.day);
    b=leapyear(a.year);//如果为闰年
    if(b==1)
    {c[1]=29;//二月当然变成29天了=A=
     b=0;//跳出if


    }
    for(i=0;i<a.month-1;i++)//计算出是今年的第多少天
    {
        j=j+c[i];

    }
    printf("%d",j+a.day);//输出





}

题外话

   为什么要用结构体? 结构体使代码更加有层次 方便他人阅读 在后续的文件操作中也非常有用

如果你忘记了→点击结构体


点赞(19)
 

0.0分

6 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 8 条评论

小雨 5年前 回复TA
为什么if那里要设置b=0跳出if,就算b=1执行完也会跳出的吧
编程cxk 5年前 回复TA
@jjstudyc 那是分号
jjstudyc 5年前 回复TA
struct time//结构体 输入年 月 日
{int year;
 int month;
 int day;
};后面不是要加个冒号吗??为什么你可以不用加!!!!????
milk 6年前 回复TA
对第12个月的赋值错误且无用
帝国时代 7年前 回复TA
厉害!!!
正邪共存 7年前 回复TA
j=j+c[i]+d
FtSan 7年前 回复TA
变量d好像没什么用
Mister-小方 7年前 回复TA
可以可以,很强