苏飞论坛
标题: C#函数:今天是7.7,试着编个函数计算一下历史上的今天是星期几 [打印本页]
作者: wwwconsumer 时间: 2014-7-7 04:40
标题: C#函数:今天是7.7,试着编个函数计算一下历史上的今天是星期几
正在学函数,今天是7.7啦,不忘历史,警示后人,编个程序先:[C#] 纯文本查看 复制代码
namespace ConsoleApplication1
{
class Program
{
//定义函数CaculateWeekDay();注意在定义在主函数static void Main(string[] args)之外,和主函数并列,因为他们是兄弟关系。
static string CaculateWeekDay(int y, int m, int d)
//函数的功能在下面的花括号之中
{
if (m == 1 || m == 2) { m += 12; y--; }//将1月和2月看做是去年的13、14月;
int week = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400 + 1) & 7;//函数的核心就是吉姆拉尔森公式,余数是几就是星期几;
//将函数的余数数值转化为相应的字符串
string weekstring = "";
switch (week)
{
case 0: weekstring = "星期日"; break;
case 1: weekstring = "星期一"; break;
case 2: weekstring = "星期二"; break;
case 3: weekstring = "星期三"; break;
case 4: weekstring = "星期四"; break;
case 5: weekstring = "星期五"; break;
case 6: weekstring = "星期六"; break;
default: break;
}
return weekstring;//返回结果
}
//在下面主程序中调用自定义CaculateWeekDay(int y, int m, int d)函数
static void Main(string[] args)
{
//计算1931年9月18日是星期几
string weekday = CaculateWeekDay(1931, 9, 18);
Console.WriteLine("1931年9月18日是"+weekday );
//计算1937年7月7日是星期几
weekday = CaculateWeekDay(1937, 7, 7);
Console.WriteLine("1937年7月7日是" + weekday);
}
}
}
作者: wwwconsumer 时间: 2014-7-7 05:22
函数中很重要的概念就是返回值,即return语句,好比一个工厂,产品合不合格,就看返回的是否你要的东东。下面看看一个比较两个数大小的函数。[C#] 纯文本查看 复制代码
namespace ConsoleApplication1
{
class Program
{
//定义函数Bigger(),求两数中的最大数。
static double Bigger(double x,double y)
//函数的功能在下面的花括号之中
{
double maxValue = (x >= y)?x:y;//这个是条件表达式,如果X>y,选择第一项X,否则,选择Y
return maxValue;//返回结果
}
//在下面主程序中调用自定义Bigger()函数
static void Main(string[] args)
{
double result;
result = Bigger(2,5);
Console.WriteLine ("最大值是: {0}",result);
}
}
}
其实return还可以这样写;[C#] 纯文本查看 复制代码
static double Bigger(double x,double y)
//函数的功能在下面的花括号之中
{
return (x >= y)?x:y;//这个是条件表达式,如果X>y,选择第一项X,否则,选择Y
}
作者: wwwconsumer 时间: 2014-7-7 06:09
一个工厂不可能只有一种产品,一个函数有时要返回多个值,这就需要引用输出型参数(OUT)[C#] 纯文本查看 复制代码
namespace ConsoleApplication1
{
class Program
{
//定义函数,已知园的半径,求它的面积和周长。
static double CalculateCircle(double r,out double c)
//函数的功能在下面的花括号之中
{
//r-半径,c-周长,s-面积
c = 2 * Math.PI * r;
double S = Math.PI * r * r;
return S;//函数默认的是返回面积
}
//在下面主程序中调用自定义函数
static void Main(string[] args)
{
Console.Write("半径:");
double radius = Convert.ToDouble(Console.ReadLine());
double circumference;
double area = CalculateCircle (radius,out circumference);
Console.WriteLine ("周长:{0}",circumference );
Console.WriteLine("面积:{0}", area);
}
}
}
作者: 着迷 时间: 2014-7-7 08:57
强烈支持楼主ing……
作者: 站长苏飞 时间: 2014-7-10 13:03
我只是路过看看的。
欢迎光临 苏飞论坛 (http://www.sufeinet.com/) |
Powered by Discuz! X3.4 |