.NET程序设计
实验一 语言基础
一、实验目的
1.熟悉VisualStido.NET实验环境; 2.掌握控制台程序的编写方法; 3.掌握C#程序设计语言的语法基础; 4.掌握控制语句和数组的使用。
二、实验要求
根据题目要求,编写C#程序,并将程序代码和运行结果写入实验报告。
三、实验内容
1. 编写一个控制台应用程序,输入三角形或者长方形边长,计算其周长和面积并输出。 源代码: using System;
usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text;
namespace _20153236_sy1_1 {
classProgram {
staticvoid Main(string[] args) {
inti; double t_1, t_2, t_3; doubler_lenth, r_width; doublecir, area; //三角形及长方形的变量等
Console.WriteLine(\欢迎进入几何图形周长、面积计算系统*******\); while (true) {
Console.WriteLine(\三角形 2.长方形 3.退出 \); Console.WriteLine(\请输入序号:\); 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; //计算三角形周长及面积
area = Math.Sqrt(cir / 2 * (cir / 2 - t_1) * (cir / 2 - t_2) * (cir / 2 - t_3));//无法将double隐式转换为float,之前用的float类型的边长等,sqrt函数返回为double Console.WriteLine(\该三角形周长为:{0}\,cir); Console.WriteLine(\该三角形面积为:{0}\,area); break;
case 2: //长方形周长及面积算法 Console.WriteLine(\请输入长方形的长:\);//用户依次输入三个边长 r_lenth = float.Parse(Console.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(\输入错误!!!\);break; }//switch结束
if (i == 3) break; //判断用户是否退出系统 }//while循环结束 } } }
图1求周长、面积截图
2.编写一个控制台应用程序,可根据输入的月份判断所在季节。 源代码:
using System;
usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text;
namespace _20153236_sy1_2 {
classProgram {
staticvoid Main(string[] args) { inti;
Console.WriteLine(\欢迎进入季节判断系统(气象划分法)***************\); while (true) {
Console.WriteLine(\菜单:\);
Console.WriteLine(\月 2.2月 3.3月 \); Console.WriteLine(\月 5.5月 6.6月 \); Console.WriteLine(\月 8.8月 9.9月 \); Console.WriteLine(\月 11.11月 12.12月 \); Console.WriteLine(\退出 \);
Console.WriteLine(\请输入月份序号:\); i = int.Parse(Console.ReadLine()); 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: Console.WriteLine(\输入错误!!!\); break; }//switch结束 if (i == 13) break; //退出系统 }//while结束 } } }
图2判断月份截图
3.编写程序,用while循环语句实现下列功能:有一篮鸡蛋,不止一个,有人两个两个数,多余一个,三个三个数,多余一个,再四个四个地数,也多余一个,请问这篮鸡蛋至少有多少个。
源代码:
using System;
usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text;
namespace _20153236_sy1_3 {
classProgram {
staticvoid Main(string[] args) {
int sum=2; //鸡蛋个数总量 bool flag = false;
while (sum if (sum % 2 == 1 && sum % 3 == 1 && sum % 4 == 1) //满足题目条件,已找到 { Console.Write(\这篮鸡蛋至少有{0}\, sum); Console.WriteLine(\个。\); flag = true; } else//没找到,增加鸡蛋数量 sum++; }//while循环结束 } } } 图3求出鸡蛋数量截图 4.编写程序,计算数组中奇数之和和偶数之和。 源代码: using System; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Collections; //头文件,包含Arraylist类型(c#中的动态数组) namespace _20153236_sy1_4 { classProgram { staticvoid Main(string[] args) { Console.WriteLine(\欢迎进入计算一组数中奇(偶)数之和系统*******:\); while (true) { Console.WriteLine(\菜单:\); Console.WriteLine(\固定数量(10个) 2.不固定数量\); Console.WriteLine(\退出\); Console.WriteLine(\请选择:\); inti; intJsum = 0, Osum = 0; //定义奇、偶总和 i=int.Parse(Console.ReadLine()); switch(i) { case 1: //普通数组,固定数量,仅10个 int[] numarr = newint[10]; //定义数组 for (int j = 0; j < 10; j++) //for循环输入10个数 { Console.WriteLine(\请输入第{0}个数:\, j + 1); numarr[j] = int.Parse(Console.ReadLine()); } for (int s = 0; s < 10; s++) //计算数组中奇数之和和偶数之和 { if(numarr[s]%2==0) Osum += numarr[s]; //判断数组中的值是偶数并累加 elseJsum += numarr[s]; //奇数累加 } Console.WriteLine(\奇数之和为\ + Jsum + \偶数之和为\ + Osum);break; case 2: //动态数组,不固定个数 ArrayList numbers = newArrayList(); int sum; Console.WriteLine(\请输入要输入的数的总个数:\); sum = int.Parse(Console.ReadLine()); for (int k = 0; k < sum; k++) { Console.WriteLine(\请输入第{0}个数:\, k+ 1); numbers.Add(int.Parse(Console.ReadLine())); } for (int s = 0; s < sum; s++) { if ((int)numbers[s] % 2 == 0) Osum +=(int)numbers[s];//判断数组中的值是偶数并累加 (运算符%无法应用于object和int类型,需要强制转换) elseJsum += (int)numbers[s];//奇数累加 } Console.WriteLine(\奇数之和为\ + Jsum + \偶数之和为\ + Osum);break; case 3: Console.WriteLine(\欢迎下次使用!!!\); break; default: Console.WriteLine(\输入错误!!!\); break; }//switch结束 if (i == 3) break; //跳出while循环 }//while结束 } } }