《c#-第一次实验报告(含源代码-注释)》由会员分享,可在线阅读,更多相关《c#-第一次实验报告(含源代码-注释)(8页珍藏版)》请在金锄头文库上搜索。
1、.NET 程序设计实 验 一 语 言 基 础一 、 实 验 目 的1. 熟悉 Visual Stido.NET 实 验 环 境 ;2. 掌 握 控 制 台 程 序 的 编 写 方 法 ;3. 掌握 C#程序设计语言的语法基础;4. 掌 握 控 制 语 句 和 数 组 的 使 用 。二 、 实 验 要 求根据题目要求,编写 C#程序,并将程序代码和运行结果写入实验报告。三 、 实 验 内 容1. 编写一 个 控制台应用程 序 , 输入三 角 形或者长方形 边 长 , 计算其 周 长和面积并输出 。源代码:using System;using System.Collections.Generic;
2、using System.Linq;using System.Text;namespace _20153236_sy1_1class Programstatic void Main(string args)int i; double t_1, t_2, t_3; double r_lenth, r_width; double cir, area; /三角形及长方形的变量等Console.WriteLine(*欢迎进入几何图形周长、面积计算系统*);while (true)Console.WriteLine( 1.三角形 2.长方形 3.退出 );Console.WriteLine(请输入序号:
3、);i = int.Parse(Console.ReadLine();switch (i) case 1: /三角形周长及面积算法Console.WriteLine(请输入第一条边长:);/用户依次输入三个边长t_1 = float.Parse(Console.ReadLine();Console.WriteLine(请输入第二条边长:);t_2 = float.Parse(Console.ReadLine();Console.WriteLine(请输入第三条边长:);t_3 = float.Parse(Console.ReadLine();/输入结束cir = t_1 + t_2 + t_3
4、; /计算三角形周长及面积area = Math.Sqrt(cir / 2 * (cir / 2 - t_1) * (cir / 2 - t_2) * (cir / 2 - t_3);/无法将double隐式转换为float,之前用的float类型的边长等,sqrt函数返回为doubleConsole.WriteLine(该三角形周长为:0,cir);Console.WriteLine(该三角形面积为:0,area);break;case 2: /长方形周长及面积算法Console.WriteLine(请输入长方形的长:);/用户依次输入三个边长r_lenth = float.Parse(Co
5、nsole.ReadLine();Console.WriteLine(请输入长方形的宽:);r_width = float.Parse(Console.ReadLine(); cir = 2 * (r_lenth + r_width); /长方形周长及面积area = r_lenth * r_width;Console.WriteLine(该长方形周长为:0, cir);Console.WriteLine(该长方形面积为:0, area);break;case 3: Console.WriteLine(欢迎您的下次进入!); break;default: Console.WriteLine(输
6、入错误!);break;/switch结束if (i = 3) break; /判断用户是否退出系统/while循环结束图 1 求周长、面积截图2. 编 写 一 个 控 制 台 应 用 程 序 , 可 根 据 输 入 的 月 份 判 断 所 在 季 节 。源 代 码 :using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace _20153236_sy1_2class Programstatic void Main(string args)int i;Console.Wr
7、iteLine(*欢迎进入季节判断系统(气象划分法)*);while (true)Console.WriteLine(菜单:);Console.WriteLine( 1.1月 2.2月 3.3月 );Console.WriteLine( 4.4月 5.5月 6.6月 );Console.WriteLine( 7.7月 8.8月 9.9月 ); Console.WriteLine( 10.10月 11.11月 12.12月 );Console.WriteLine( 13.退出 );Console.WriteLine(请输入月份序号:);i = int.Parse(Console.ReadLine
8、();switch (i) case 3:case 4:case 5: Console.WriteLine(此月份在春季。); break;case 6:case 7:case 8: Console.WriteLine(此月份在夏季。); break;case 9:case 10:case 11: Console.WriteLine(此月份在秋季。); break;case 12:case 1:case 2: Console.WriteLine(此月份在冬季。); break;case 13: Console.WriteLine(退出成功,再见!); break;default: Consol
9、e.WriteLine(输入错误!); break;/switch结束if (i = 13) break; /退出系统/while结束图 2 判断月份截图3. 编 写 程 序 , 用 while 循 环 语 句 实 现 下 列 功 能 : 有 一 篮 鸡 蛋 , 不 止 一 个 , 有 人 两 个 两 个 数 , 多 余 一 个 , 三 个 三 个 数 , 多 余 一 个 , 再 四 个 四 个 地 数 , 也 多 余 一 个 , 请 问 这 篮 鸡 蛋 至 少有 多 少 个 。源 代 码 :using System;using System.Collections.Generic;using
10、 System.Linq;using System.Text;namespace _20153236_sy1_3class Programstatic void Main(string args)int sum=2; /鸡蛋个数总量bool flag = false;while (sum ai, maxj)maxj = j; /把每行中最大的列号赋给maxj/找到该行最大数int minx = 0; /初始化该行最大的值所在列中最小的值所在行for (int j = 0; j row; j+) /查找该行最大值的所在列中该列的最小值if (aj, maxj aminx, maxj)minx =
11、 j;/找到该行最大数所在列的最小值if (ai, maxj = aminx, maxj)/判断该行最大数所在列的最小值的行号是否为该行 Console.Write(马鞍点0,1:2+n,minx,maxj,aminx,maxj); count+; /行循环结束if (count= 0) Console.WriteLine(没有马鞍点数);elseConsole.WriteLine(马鞍点总数为: + count);Console.WriteLine(请选择:1.输入二维数组,0.退出);flag = int.Parse(Console.ReadLine();/while循环结束 图 6 找数组马鞍点截图四 、 实 验 总 结1. 无法将 double 隐式转换为 float。在运用 Math 的 sqrt 求三角形面积时出现此问题。原因是返回值为 double 类型,而我用的 float 类型,修改为double 类型 后解决了。2.季节与月份的关系不唯一。百度了一下,选择了气象划分法。3.第四题没有说数组大小可以在运行时输入,学习了 Arraylist 类型,解决了一维数组的动态输入大小问题。4.C#中 对 Enter 的处理不如 C+好,运行时不小心按到会导致异常。多写用户输入的提示信息,使程序更友好。