zoukankan      html  css  js  c++  java
  • C#.NET程序设计实验一实验报告

    实验一  语言基础

    一、实验目的

    1. 熟悉Visual Stido.NET 实验环境;

    2. 掌握控制台程序的编写方法;

    3. 掌握C#程序设计语言的语法基础;

    4. 掌握控制语句和数组的使用。

    二、实验要求

      根据题目要求,编写 C#程序,并将程序代码和运行结果写入实验报告。

    三、实验内容

    1. 编写一个控制台应用程序,输入三角形或者长方形边长,计算其周长和面积并输出。

    源码:

    主函数部分

    static void Main1_1(string[] aa)

            {

                //定义三角形边长,矩形长和宽,以及周长和面积

                int i;

                double tri1, tri2, tri3;

                double rec1, rec2;

                double cir, area;

     

                //系统编写

                Console.WriteLine("--------------------几何图形周长、面积计算-----------------");

                while (true)

                {

                    Console.WriteLine("请选择图形样式:");

                    Console.WriteLine("   1.三角形    2.矩形   3.退出    ");

                    Console.WriteLine("请输入对应序号:");

                    //这里不知道什么原因。需要回车两次才能继续。

                    i = int.Parse(Console.ReadLine());

                    switch (i)

                    {

                        //三角形算法

                        case 1:

                            Console.WriteLine("请输入所求三角形的第一条边的长度:");

                            tri1 = float.Parse(Console.ReadLine());

                            Console.WriteLine("请输入所求三角形的第二条边的长度:");

                            tri2 = float.Parse(Console.ReadLine());

                            Console.WriteLine("请输入所求三角形的第三条边的长度:");

                            tri3 = float.Parse(Console.ReadLine());

     

                            cir = tri1 + tri2 + tri3;//周长

                            area = Math.Sqrt(cir / 2 * (cir / 2 - tri1) * (cir / 2 - tri2) * (cir / 2 - tri3));

                            //无法将double隐式转换为float,之前用的float类型的边长等,sqrt函数返回为double

                            Console.WriteLine("该三角形的周长为:{0}", cir);

                            Console.WriteLine("该三角形的面积为:{0}", area);

                            break;

     

                        case 2:

                            Console.WriteLine("请输入所求矩形的一条边的长度:");//用户依次输入三个边长

                            rec1 = float.Parse(Console.ReadLine());

                            Console.WriteLine("请输入所求矩形的另一条边的长度:");

                            rec2 = float.Parse(Console.ReadLine());

                            cir = 2 * (rec1 + rec2);        //长方形周长及面积

                            area = rec1 * rec2;

                            Console.WriteLine("该矩形的周长为:{0}", cir);

                            Console.WriteLine("该矩形的面积为:{0}", area);

                            break;

     

                        case 3:

                            Console.WriteLine("正在退出.....");

                            Console.WriteLine("退出成功!");

                            break;

     

                        default:

                            Console.WriteLine("输入有误,请输入1或2或3!!!");

                            break;

                    }

                   

                    //判断是否退出系统

                    if (i == 3)

                        break;

                }

            }

    程序运行截图

    2. 编写一个控制台应用程序,可根据输入的月份判断所在季节。

    主函数代码

    static void Main1_2(string[] ab)

            {

                //定义输入的月份

                int i;

     

                //系统编写

                Console.WriteLine("---------季节判断系统----------");

               

                while(true)

                {

                    Console.WriteLine("请输入要查询的月份:(输入0,退出系统)");

                    i = int.Parse(Console.ReadLine());

     

                    switch(i)

                    {

                        case 3:

                        case 4:

                        case 5:

                            Console.WriteLine("{0}月在春季。 ", i);

                            break;

                        case 6:

                        case 7:

                        case 8:

                            Console.WriteLine("{0}月在夏季。", i);

                            break;

                        case 9:

                        case 10:

                        case 11:

                            Console.WriteLine("{0}月在秋季。", i);

                            break;

                        case 12:

                        case 1:

                        case 2:

                            Console.WriteLine("{0}月在冬季。", i);

                            break;

                        case 0:

                            Console.WriteLine("正在退出.....");

                            Console.WriteLine("退出成功!");

                            break;

                        default:

                            Console.WriteLine("您的输入有误,请核实后输入!!!");

                            break;

                    }

                    if (i == 0)

                        break;

     

                }

            }

    程序运行截图

    3. 编写程序,用 while 循环语句实现下列功能:有一篮鸡蛋,不止一个,有人两个两

    个数,多余一个,三个三个数,多余一个,再四个四个地数,也多余一个,请问这篮鸡蛋至

    少有多少个。

    主函数代码

    static void Main1_3(string[] ac)

            {

                int sum = 2;

                bool flag = false;

                while (sum < int.MaxValue && flag == false)

                {

                    if (sum % 2 == 1 && sum % 3 == 1 && sum % 4 == 1)

                    {

                        Console.WriteLine("这筐鸡蛋至少有{0}个.", sum);

                        flag = true;

                    }

                    else

                        sum++;

                }

            }

    程序运行截图

    4. 编写程序,计算数组中奇数之和和偶数之和。

    主函数代码

    static void Main1_4(string[] ad)

            {

                //定义数组,及奇数偶数之和

                List<string> str = new List<string>();

                int lenth = 0;

                int jssum = 0;

                int ossum = 0;

     

                //输入数组

                Console.WriteLine("输出数组元素,回车按q结束录入(最后一个数字后不要加空格)");

                while(true)

                {

                    string input = Console.ReadLine();

                    if (input.Equals("q") == false)

                        str.Insert(lenth++, input);

                    else

                        break;

                }

     

                //交叉数组,

                string[][] every = new string[lenth][];

                for(int i = 0; i < lenth; i++)

                {

                    every[i] = str[i].Split();//C#对空格的分割方式之一

                }

     

                for (int i = 0; i < lenth; i++)

                {

                    for(int j=0;j<every[i].Length;j++)

                    {

                        int aa;

                        aa = int.Parse(every[i][j]);

                        if((aa%2)==1)

                        {

                            jssum += aa;

                        }

                        else

                        {

                            ossum += aa;

                        }

                    }

                }

                Console.WriteLine("该数组中奇数之和为:{0}", jssum);

                Console.WriteLine("该数组中偶数之和为:{0}", ossum);

                Console.ReadKey();

            }

    程序运行截图

    5. 编写程序,找一找一个二维数组中的鞍点(即该位置上的元素值在行中最大,在该

    列上最小。有可能数组没有鞍点)。要求:

    u   二维数组的大小、数组元素的值在运行时输入;

    u   程序有友好的提示信息。

    主函数代码

    static void Main1_5(string[] ae)

            {

                int[,] nos = new int[3, 4];

                int xMaxIndex = 0;

                bool isFind = false;

                for (int i = 0; i < nos.Rank; i++)

                {

                    for (int j = 1; j < nos.Length / (nos.Rank + 1); j++)

                    {

                        if (nos[i, j] > nos[i, j - 1])

                            xMaxIndex = j;

                    }

                    bool isMin = true;

                    for (int k = 0; k < nos.Rank; k++)

                    {

                        if (k == i)

                            continue;

                        if (nos[k, xMaxIndex] < nos[i, xMaxIndex])

                            isMin = false;

                    }

                    if (isMin)

                    {

                        Console.Write("[{0},{1}]={2} 是鞍点!", i, xMaxIndex,nos[i,xMaxIndex]);

                        isFind = true;

                    }

                }

                if (!isFind)

                    Console.Write("Not Find(没有找到鞍点)!");

            }

    程序运行截图

    四、实验总结

    通过本次实验报告,以及对应实验代码的编写以及运行工作,我初步认识到C#语言控制台应用的编写技巧,C#与C++,C以及JAVA都有类似的地方,语法方面有相互印证的地方,有了C/C++,Java的编程经历,对C#的开发比较顺利,这几个习题练习了C#,对于整型,双精度型数据的定义,赋值,以及while,for,if循环结构,还有终端的输入输出,以及二维数组的定义等方面,都有涉及,很好的培养了C#的开发习惯。而且C#在VS里的开发过程异常顺利,几乎没有遇到什么问题。对于题目中的一些瑕疵,我没有做深入的研究,通过注释将相关注意事项记下。最后一题感觉和题目有所出入。希望指正。

  • 相关阅读:
    Angular Universal 学习笔记
    SAP Spartacus 如何获得当前渲染页面的 CMS 元数据
    Angular 服务器端渲染的学习笔记(二)
    Angular 服务器端渲染的学习笔记(一)
    第三方外部 Saas提供商如何跟使用 SAP 系统的客户进行对接接口集成
    如何从 SAP Spartacus Product Detail 页面,找到其 Angular 实现 Component 的位置
    具备自动刷新功能的 SAP ABAP ALV 报表
    C++学习目录
    c--条件编译
    c--文件读写--二进制
  • 原文地址:https://www.cnblogs.com/aiyyue/p/14071521.html
Copyright © 2011-2022 走看看