• 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里的开发过程异常顺利,几乎没有遇到什么问题。对于题目中的一些瑕疵,我没有做深入的研究,通过注释将相关注意事项记下。最后一题感觉和题目有所出入。希望指正。

  • 相关阅读:
    一、Redis源码结构
    StringUtils工具类用法
    什么是多态
    Spring事务配置的五种方式
    不错的spring学习博客
    hibernate.current_session_context_class 比较权威的解释
    搞搞hibernate.current_session_context_class
    Spring MVC @Transactional注解方式事务失效的解决办法
    spring 中 hibernate 的 2种 配置方式(新旧 2种方式)
    Spring+Hibernate整合配置 --- 比较完整的spring、hibernate 配置
  • 原文地址:https://www.cnblogs.com/aiyyue/p/14071521.html
Copyright © 2020-2023  润新知