C语言问题。
- 提问者网友:城市野鹿
- 2021-04-27 16:34
- 五星知识达人网友:污到你湿
- 2021-04-27 17:45
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; }