http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 11160|回复: 4

[C#入门] C#函数:今天是7.7,试着编个函数计算一下历史上的今天是星期几

[复制链接]
发表于 2014-7-7 04:40:47 | 显示全部楼层 |阅读模式
正在学函数,今天是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);
}
}
}


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
 楼主| 发表于 2014-7-7 05:22:55 | 显示全部楼层
函数中很重要的概念就是返回值,即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
            
            }
            
 楼主| 发表于 2014-7-7 06:09:15 | 显示全部楼层
一个工厂不可能只有一种产品,一个函数有时要返回多个值,这就需要引用输出型参数(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:11 | 显示全部楼层
强烈支持楼主ing……
发表于 2014-7-10 13:03:51 | 显示全部楼层
我只是路过看看的。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-4-26 23:39

© 2014-2021

快速回复 返回顶部 返回列表