C# 7 函数 青歌赛打分 天气预报
函数:
数据类型--变量常量--运算符表达式--语句(顺序,分支,循环)--数组--函数
程序里的函数:能完成一个相对独立功的代码块。
数学里的函数:高度抽象。
函数四要素:函数名,输入,输出,加工
函数定义:
[static] 返回类型 函数名(输入参数列表)
{
//函数体——加工
}
函数调用:
函数名(参数); ——适合于调用无返回值的函数
数据类型 变量 = 函数名(参数); ——适合于调用有返回值的函数。
今天要掌握的东西:
1.函数是个什么东西?
2.能体会到函数的好处:可重用,可分工,清晰易读
3.记住函数的四要素。
4.会定义简单的函数,会调用这个函数。
例:函数
class Program //函数多于是加上了class ,找分析每块函数别找错地方
{
static void M1ain(string[] args)
{
ShowHeader();
string city = ShuRu();
string jieguo = YunSuan(city);
Console.WriteLine("天气预报仅做参考:" + jieguo);
}
private static string YunSuan(string city)
{
//天气
string[] s = new string[] { "晴", "晴", "晴", "晴", "晴", "晴", "晴", "晴", "晴", "晴", "晴", "晴", "晴", "晴", "晴", "阴", "多云", "小雨", "中雨", "大雨", "暴雨", "雷阵雨", "小雪", "中雪", "大雪", "霾", "雾" };
Random rand = new Random();
int n = rand.Next(s.Length); //天气的下标.
string tq = s[n];
//气温
int c = rand.Next(70);
c -= 30;
string jieguo = "明天的天气情况:" + city + ",天气:" + tq + ",气温:" + c;
return jieguo;
}
private static string ShuRu()
{
Console.Write("城市:");
string city = Console.ReadLine();
return city;
}
private static void ShowHeader()
{
Console.WriteLine("*************天气预报****************");
Console.WriteLine("********淄博气象台权威发布****************");
Console.WriteLine("********如果出现异常 ,纯属偶然****************");
Console.WriteLine("*****仅做个人测试与爱好使用,不要用作商业运营**********");
}
}
例:青歌赛打分
class Class1
{
static void Main(string[] args)
{
int[] a = new int[10];
//亮分
ShuRu(a);
//排序
PaiXu(a);
//运算求平均
double avg = YunSuan(a);
//输出显示
ShuChu(a, avg);
}
private static void ShuChu(int[] a, double avg)
{
Console.WriteLine("去掉两个最高分:" + a[0] + "和" + a[1]);
Console.WriteLine("去掉两个最低分:" + a[a.Length - 1] + "和" + a[a.Length - 2]);
Console.WriteLine("该选手最终得分为:" + avg);
}
private static double YunSuan(int[] a)
{
//求总分
int sum = 0;
for (int i = 2; i <= a.Length - 3; i++)
{
sum += a[i];
}
//求平均
double avg = (1.0 * sum) / (a.Length - 4);
return avg;
}
private static void PaiXu(int[] a)
{
for (int i = 1; i <= a.Length - 1; i++)
{
for (int j = 1; j <= a.Length - i; j++)
{
if (a[j] > a[j - 1])
{
int temp = a[j];
a[j] = a[j - 1];
a[j - 1] = temp;
}
}
}
}
private static void ShuRu(int[] a)
{
for (int i = 0; i < a.Length; i++)
{
Console.Write("请第" + (i + 1) + "号评委亮分:");
a[i] = Convert.ToInt32(Console.ReadLine());
}
}
}
C# 7 函数 青歌赛打分 天气预报的更多相关文章
- foreach 循环遍历 以及函数的应用
foreach( 对集合每个元素的引用 in 集合 ){ } 举例: int[] a = new int[5]{1,2,3,4,5};foreach( int b in a ){ //b就是a中的每个 ...
- foreach使用和函数
2016-04-25 一.foreach( 对集合每个元素的引用 in 集合 ) { } int[] a = new int[5]{1,2,3,4,5}; foreach( int b in a ) ...
- 20160418 while,switch,do..while的使用
9 一.While循环 示例:求100以内所有数的和 Int i=1;//初始条件 Int sum=0; While(i<=100)//循环条件 { Sum+=i;//循环体 i++;//状态改 ...
- C#。总结
数据类型--变量与常量--运算符与表达式--语句(if,for)--数组--函数--结构体一.数据类型: (一)内建类型 整型(int short long byte uint ushort ulon ...
- C# 10 总复习
数据类型--变量与常量--运算符与表达式--语句(if,for)--数组--函数--结构体 一.数据类型: (一)内建类型 整型(int short long byte uint ushort ulo ...
- C#语言小结
数据类型--变量与常量--运算符与表达式--语句(if,for)--数组--函数--结构体 一.数据类型:(一)内建类型整型(int short long byte uint ushort ulong ...
- C#阶段小结
一.数据类型: (一)内建类型: 整型(int ,short, long ,byte ,uint ,ushort, ulong ,sbyte): 浮点型(double float decimal): ...
- C#整理5——break与continue.及数组
一.break与continue.这两个关键字一般放在循环的花括号里面使用.break——结束整个循环.continue——结束本次循环,进入下次循环. break的案例: using System; ...
- C# 5 break continue 球员成绩 彩票 选班长
二.新课: 1.break与continue. 这两个关键字一般放在循环的花括号里面使用. break--结束整个循环. continue--结束本次循环,进入下次循环. break的案例: ...
随机推荐
- android stagefright awesomeplayer 分析
主要调用awesomeplay.cpp的函数来实现音视频等功能,可以说是对awesomeplay.cpp的封装,进一步抽象,然后提供给上层调用,主要的调用者是MediaPlayerService.cp ...
- 项目总结之SSI (一)
这是我进公司之后做的第一个新项目,从无到有. 去年夏天和同事在会议室里度过的日子还恍如昨日啊,时光啊,你慢些走... 作为一个外部项目,美工设计了一个Win8风格的界面,看到现在做前台的同学做的一样是 ...
- 我的美国(北美)计算机CS实习面试经验分享
过去的一年多里,参加了一些面试,虽然面过的公司不多,但都从头一直走到尾.毕竟自己也是花了大量的时间和精力在这一场场的面试里.所以,就絮叨下自己的一些经验,希望能给在美国找实习找工作的同学们提供一点点帮 ...
- Python3.5 入门学习记录——变量类型
前面介绍了如何下载和安装Python3.5的环境,安装好了后开始进行练习,仍然是最基础的使用Python解释器进行Coding,由于我也是初学Python,也是根据网上其他的教程一点一点练习,然后归纳 ...
- C++ 析构函数为虚函数
1.原因: 在实现多态时, 当用基类指针操作派生类, 在析构时候防止只析构基类而不析构派生类. 2.例子: (1). #include<iostream> using namespace ...
- Centos7安装JDK
以下是gz包方式: 1,将jdk-8u51-linux-x64.tar.gz放到/usr/java目录下 2,用tar -zxvf jdk-8u51-linux-x64.tar.gz 解压到当前目录 ...
- Chapter 02:复合 VS 继承
复合优先于继承,继承是实现代码重用的有力手段,并不是所有情况都适用,使用不当会导致软件变得很脆弱.与方法调用不同的是,继承打破了封装性. 总而言之,组合和继承,都能实现对类的扩展.但是要分具体情况用哪 ...
- [makefile] filter-out
$(filter-out ,) 名称:反过滤函数——filter-out.功能:以模式过滤字符串中的单词,去除符合模式的单词.可以有多个模式.返回:返回不符合模式的字串.示例: objects=mai ...
- SQL Server 备份的 8 种方法。
方法 1. 完整备份 方法 2. 差异备份 方法 3. 部分备份(备份数据库的read_write部分) 方法 4. 文件备份 方法 5. 文件组备份 方法 6. 只复制备份 方法 7. 日志备份 - ...
- SQL别名解析(转载)
通过使用 SQL,可以为列名称和表名称指定别名(Alias). 其实,select列的时候取别名有三种方法,这三种方法并不是所有数据库都适用. 方法一.直接在字段名称后面加上别名,中间以空格隔开. 方 ...