2823 - 【设计型】第9章: 指针 9.4(1)某月某日(1)

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

输入某年某月某日,计算并输出它是这一年的第几天。

/* 函数功能:      对给定的某年某月某日,计算它是这一年的第几天

    函数参数:      整型变量year、month、day,分别代表年、月、日

    函数返回值:   这一年的第几天*/

int DayofYear(int year,int month,int day);

题目输入

题目输出

输入/输出样例

输入格式

2012-03-01

输出格式

61

C语言解答

#include<stdio.h>
int DayofYear(int year,int month,int day);
int main()
{
	int y[100],m[100],d[100],num[100],l,i;
	scanf("%d",&l);
	for(i=0;i<l;i++)
	{
		scanf("%d-%d-%d",&y[i],&m[i],&d[i]);
		num[i] = DayofYear(y[i],m[i],d[i]);
	}
	for(i=0;i<l;i++)
	{
		if(i!=l-1)
		printf("%d\n",num[i]);
		else
		printf("%d",num[i]);
	} 
	
	return 0;
}

int DayofYear(int x,int y,int z)
{
	int n;
	if(x%4==0&&x%100!=0||x%400==0)
	{
		switch(y)
		{
			case 1:	n = z;break;
			case 2:	n = 31+z;break;
			case 3:	n = 60+z;break;
			case 4:	n = 91+z;break;
			case 5:	n = 121+z;break;
			case 6:	n = 152+z;break;
			case 7:	n = 182+z;break;
			case 8:	n = 213+z;break;
			case 9:	n = 244+z;break;
			case 10:n = 274+z;break;
			case 11:n = 305+z;break;
			case 12:n = 335+z;break;
		}
	}
	else
	{
		switch(y)
		{
			case 1:	n = z;break;
			case 2:	n = 31+z;break;
			case 3:	n = 59+z;break;
			case 4:	n = 90+z;break;
			case 5:	n = 120+z;break;
			case 6:	n = 151+z;break;
			case 7:	n = 181+z;break;
			case 8:	n = 212+z;break;
			case 9:	n = 243+z;break;
			case 10:n = 273+z;break;
			case 11:n = 304+z;break;
			case 12:n = 334+z;break;
		}
	}
	return n;
}

C++解答

#include<stdio.h>
int DayofYear(int year,int month,int day);
int main()
{
	int y[100],m[100],d[100],num[100],l,i;
	scanf("%d",&l);
	for(i=0;i<l;i++)
	{
		scanf("%d-%d-%d",&y[i],&m[i],&d[i]);
		num[i] = DayofYear(y[i],m[i],d[i]);
	}
	for(i=0;i<l;i++)
	{
		if(i!=l-1)
		printf("%d\n",num[i]);
		else
		printf("%d",num[i]);
	} 
	
	return 0;
}

int DayofYear(int x,int y,int z)
{
	int n;
	if(x%4==0&&x%100!=0||x%400==0)
	{
		switch(y)
		{
			case 1:	n = z;break;
			case 2:	n = 31+z;break;
			case 3:	n = 60+z;break;
			case 4:	n = 91+z;break;
			case 5:	n = 121+z;break;
			case 6:	n = 152+z;break;
			case 7:	n = 182+z;break;
			case 8:	n = 213+z;break;
			case 9:	n = 244+z;break;
			case 10:n = 274+z;break;
			case 11:n = 305+z;break;
			case 12:n = 335+z;break;
		}
	}
	else
	{
		switch(y)
		{
			case 1:	n = z;break;
			case 2:	n = 31+z;break;
			case 3:	n = 59+z;break;
			case 4:	n = 90+z;break;
			case 5:	n = 120+z;break;
			case 6:	n = 151+z;break;
			case 7:	n = 181+z;break;
			case 8:	n = 212+z;break;
			case 9:	n = 243+z;break;
			case 10:n = 273+z;break;
			case 11:n = 304+z;break;
			case 12:n = 334+z;break;
		}
	}
	return n;
}