永发信息网

C语言问题。

答案:2  悬赏:10  手机版
解决时间 2021-04-27 22:04
  • 提问者网友:城市野鹿
  • 2021-04-27 16:34
定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天?注意闰年问题。(要求:1、判断是否是闰年用函数实现;2、给出年、月、日,要求用函数返回是本年的第几天)
最佳答案
  • 五星知识达人网友:污到你湿
  • 2021-04-27 17:45
#include "stdio.h"
void main()
{
int tage,day[12],i,sum=0;
struct NewDate
{
int year,month,day;
}date;

date.year=2009;date.month=2;date.day=6;
if(date.year%100==0)
{
if(date.year%400==0)
tage=1;
else tage=0;
}
else
{
if(date.year%4==0) tage=1;else tage=0;
}

day[0]=31;//January
day[1]=28;//Februayr
day[2]=31;//March
day[3]=30;//April
day[4]=31;//May
day[5]=30;//June
day[6]=31;//July
day[7]=31;//August
day[8]=30;//September
day[9]=31;//October
day[10]=30;//November
day[11]=31;//December
for(i=1;i2) sum++; //tage==1 当过了二月以后 是闰年才加上那个一
printf("%d-%d-%d is %d in %d\n",date.year,date.month,date.day,sum,date.year);
}


错了去找百度- - 拿分分
全部回答
  • 1楼网友:躲不过心动
  • 2021-04-27 17:52

//定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天? //注意闰年问题。(要求:1、判断是否是闰年用函数实现;2、给出年、月、日,要求用函数返回是本年的第几天)

#include <stdio.h> #include <stdlib.h>

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

int IsYear( int y ); //声明进行决断是否为闰年

int main( void ) { Node node; int judge,sum; //judge用来接收是否为闰年是(1)否(0) sum计算本年的第几天 int months[12] = {31,28,31,30,31,30,31,31,30,31,30,31}; sum = 0; printf( "请分别输入年月日:\n"); scanf( "%d%d%d",&node.year, &node.month, &node.day ); judge = IsYear( node.year );

if( judge == 1 ) { months[1] = 29; for(int i = 1; i < node.month; i++ ) { sum+= months[i-1]; } sum = sum + node.day; printf( "是闰年且为本年的第%d天\n", sum ); } else { for( int i = 1; i < node.month; i++ ) { sum += months[i-1]; } sum = sum + node.day; printf( "不是闰年且为本年的第%d天\n", sum ); } return EXIT_SUCCESS; }

int IsYear( int y ) { if( (y % 400 == 0) ||( y % 100 ==0 && y %4 ==0) ) { return 1; } else return 0; }

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯