欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c#输入某年某月某日,判断这一天是这一年的第几天?

程序员文章站 2022-04-16 09:23:51
作业:输入某年某月某日,判断这一天是这一年的第几天?。要求:需写一个函数,给定年月 日,求的该天处于该年的第几天。然后在Main函数中测试。 思路: ①需要有两个函数。一个主函数,一个Date函数用来计算天数。 ②在主函数里面利用控制台输入年月日,然后在调用Date函数. 由于调用函数了就传值了,调 ......

作业:输入某年某月某日,判断这一天是这一年的第几天?。要求:需写一个函数,给定年月 日,求的该天处于该年的第几天。然后在main函数中测试。

 

思路:

①需要有两个函数。一个主函数,一个date函数用来计算天数。

②在主函数里面利用控制台输入年月日,然后在调用date函数.

=====由于调用函数了就传值了,调用了就传值了,调用了就传值了。重要内容说三遍。所以就不用在后面给y,m,d传值了

③由于date函数需要三个参数,所以写date函数的时候 ,用的是  static int date(int y,int m,int d),如果不需要参数的话就写void

④给定一个数组用来装12个月的天数,先把2月定为29天。int[] array = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

⑤然后再判断二月有多少天,先用for循环 ,再判断是闰年还是平年。如果就闰年就直接加,是平年就要把28赋给数组了在相加。

 

注:函数名首字母大写,这是规定

       调用函数了就传值了,调用了就传值了,调用了就传值了

 

代码来源于我们的c#老师,因为我实在不晓得该怎么写下去了。

using system;

namespace _0319_某年某月某日
{
class program
{
static void main(string[] args)
{
//控制台输入年月日
console.writeline("请输入年");
int y = convert.toint32(console.readline());
console.writeline("请输入月");
int m = convert.toint32(console.readline());
console.writeline("请输入日");
int d = convert.toint32(console.readline());
console.writeline(y + "年" + m + "月" + d + "日是今年的第" + date(y,m,d)+ "天");//在这里被调用
}

static int date(int y,int m,int d)

{
//定义b装天数
int b = 0;
//数组装天数
int[] array = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
//除2月外还有11个月,所以i=1,i<12
for(int i = 1; i < m; i++)
{
//闰年
if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0)
{
b = b + array[i];
}
//平年
else
{
array[1] = 28;
b = b + array[i];
}

}
d = d + b;
//返回天数
return d;
}
}
}