c#作业(2班)

第二章

 

1、编写一个控制台程序,要求:

接受从控制台输入的姓名,如:张三

程序响应:你好,张三。

在代码中使用规范的注释,说明程序的功能

编译程序,并执行。

程序执行效果如下图:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
//接受从控制台输入的姓名,如:张三
            Console.WriteLine("请输入姓名:");
//程序响应:你好,张三。
            string name = Console.ReadLine();
//在代码中使用规范的注释,说明程序的功能
//编译程序,并执行。
            Console.WriteLine("你好,"+name);
    
        }
    }
}

 

第三章

1. 编写一个控制台程序,要求将字符串中的每个字符颠倒输出。

2. 编写一个控制台程序,要求去掉字符串中的所有空格。

3. 编写一个控制台程序,主要实现从字符串中分离文件路径、文件名及扩展名的功能。

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace test
{
    class Program
    {
        static void Main(string[] args)
     {
//1. 编写一个控制台程序,要求将字符串中的每个字符颠倒输出。
         string str;
         str = "ABCDE";
         Console.WriteLine(str);
         for (int i = str.Length - 1; i >= 0; i--)
         {
             Console.Write(str[i]);
         }
         Console.WriteLine();
//2. 编写一个控制台程序,要求去掉字符串中的所有空格。
         string str2 = "as bn nh n b";
         Console.WriteLine(str2);
            str2=str2.Replace(" ","");
            Console.WriteLine(str2);
//3. 编写一个控制台程序,主要实现从字符串中分离文件路径、文件名及扩展名的功能。
            string path=@"F:\c#\qq.exe";
            Console.WriteLine(path);
            string[] paths=path.Split('.');
            Console.WriteLine("扩展名:"+paths[1]);
            paths=paths[0].Split('\\');
            Console.WriteLine("文件名:"+paths[paths.Length-1]);
            Console.Write("路径:");
            for(int i=0;i<paths.Length-1;i++)
            {
                Console.Write(paths[i]+@"\");

            }

    
        }
    }
}

第四章

1、编写一个能进行加减乘除四则运算的程序,要求:输入一个整数和一个单精度数,然后输入一个操作符号,计算这两个数的运算结果并输出。

2、编写一个控制台应用程序,输入本金p、利率r和存款年限y,输出y年后的本息总额。提示:y年后的本息总额为平p×(1+r)y

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace test
{
    class Program
    {

        static void Main(string[] args)
        {
            //1、编写一个能进行加减乘除四则运算的程序,
            //要求:输入一个整数和一个单精度数,然后输入一个操作符号,计算这两个数的运算结果并输出。
            Console.WriteLine("请输入一个整数:");
            int num = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入一个单精度的数:");
            float fl = (float)Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("请输入运算符:");
            char single = Convert.ToChar(Console.ReadLine());
            switch (single)
            {
                case '+':
                    Console.WriteLine(num+"+"+fl+"="+(num+fl));
                    break;
                case '-':
                    Console.WriteLine(num + "-" + fl + "=" + (num - fl));
                    break;
                case '*':
                    Console.WriteLine(num + "*" + fl + "=" + (num * fl));
                    break;
                default:
                    Console.WriteLine(num + "/" + fl + "=" + (num / fl));
                    break;

            }
            //2、编写一个控制台应用程序,输入本金p、利率r和存款年限y,
            Console.WriteLine("输入本金p、利率r和存款年限y");
            int p = Convert.ToInt32(Console.ReadLine());
            int r= Convert.ToInt32(Console.ReadLine());
            int y = Convert.ToInt32(Console.ReadLine());
            //输出y年后的本息总额。
            Console.WriteLine(y+"年后的本息总额:"+p*y*(1+r) );
            //提示:y年后的本息总额为平p×(1+r)y    
        }
    }
}

第六章

1、声明一个int类型的一维数组,该数组包含10个元素;然后使用foreach语句遍历该数组中的元素。

2、创建一个控制台应用程序,声明一个int类型的一维数组,使用冒泡算法对数组中的元素从小到大进行排序,并输出结果。

 3、创建一个控制台应用程序,首先将两个一维数组合并成一个新的一维数组,然后再将定义的两个维数组合并为一个新的二维数组。

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace test
{
    class Program
    {

        static void Main(string[] args)
        {
          // 1、声明一个int类型的一维数组,该数组包含10个元素;然后使用foreach语句遍历该数组中的元素。
            int[] num = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
            foreach (int item in num)
            {
                Console.Write (item+" ");
            }
            Console.WriteLine();
          //2、创建一个控制台应用程序,声明一个int类型的一维数组,使用冒泡算法对数组中的元素从小到大进行排序,并输出结果。
            int[] num2 = new int[] { 1, 3, 2, 4, 2, 5, 3 };
            Array.Sort(num2);
            foreach (int item in num2)
            {
                Console.Write (item+" ");
            }
            Console.WriteLine();
           //3、创建一个控制台应用程序,首先将两个一维数组合并成一个新的一维数组,
            int[] num3= new int[num.Length+num2.Length];
            for (int i = 0; i < num2.Length; i++)
            {
                num3[i] = num[i];
            }
            for (int i = 0; i < num2.Length; i++)
            {
                num3[i+num.Length] = num2[i];
            }
            Console.WriteLine("!!!!!!!!!!!!!!!!!!");
            foreach (int i in num3)
            {
                Console.Write(i+" ");
            }
            Console.WriteLine();
            //然后再将定义的两个维数组合并为一个新的二维数组。
            int[,] nums1 = new int[2, 2] { {1,2},{3,4} };
            int[,] nums2=new int[2,2]{{1,2},{3,4}};
            int[,] nums3 = new int[2, 4] ;
            for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 2; j++)
                {
                    nums3[i, j] = nums1[i, j];
                }
            }
            for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 2; j++)
                {
                    nums3[i, j+2] = nums2[i, j];
                }
            }
            Console.WriteLine("**************");
            foreach (int item in nums3)
            {
                Console.Write(item + " ");
            }
            Console.WriteLine();
        }
    }
}

第十章

1、模拟ATM机进行账户余额查询。 

提示 

(1)编写账户类,字段:账户余额,方法:查询余额 、存款、取款

(2)编写测试类,实现存款、取款,并显示账户余额

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace test
{
    //1、模拟ATM机进行账户余额查询。 
    //(1)编写账户类,字段:账户余额,方法:查询余额 、存款、取款
    class user
    {
        public int balance;
        public int searchb()
        {
            return balance;
        }
        public void  put(int money)
        {
            balance = balance + money;
        }
        public void get(int money)
        {

            balance = balance - money;
        }
        public user()
        {
            this.balance = 100;
        }

    }
    //(2)编写测试类,实现存款、取款,并显示账户余额
    class test
    {
        static void Main(string[] args)
        {
            user user1 = new user();
            Console.WriteLine("1:存钱");
            Console.WriteLine("2:取钱");
            Console.WriteLine("3:查询余额");
            int single = Convert.ToInt32(Console.ReadLine());
            switch (single)
            {
                case 1:
                    {
                        Console.WriteLine("存储数量:");
                        int money = Convert.ToInt32(Console.ReadLine());
                        user1.put(money);
                        Console.WriteLine("存储完成");
                        Console.WriteLine("您的余额:" + user1.searchb());
                    }
                    break;
                case 2:
                    {
                        Console.WriteLine("取款金额:");
                        int money = Convert.ToInt32(Console.ReadLine());
                        user1.get(money);
                        Console.WriteLine("取款完成");
                        Console.WriteLine("您的余额:" + user1.searchb()) ;
                    }
                    break;
                case 3:
                    {
                        Console.WriteLine("余额:"+ user1.searchb());
                       
                    }
                    break;
                default:
                    Console.WriteLine("指令不正确!");
                    break;
            }
            
        }
    }
}

 

3、使用面向对象的思想编写一个计算器,可以实现两个数的加、减、乘、除运算。提示: 

编写Calculator类: 

(1)定义成员变量为运算数1(num1)和运算数2(num2) 

(2)实施成员方法“加”(add),“减”(minus),“乘”(multiple),“除”(divide)

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace test
{
    //3、使用面向对象的思想编写一个计算器,可以实现两个数的加、减、乘、除运算。提示: 
    //编写Calculator类: 
    //(1)定义成员变量为运算数1(num1)和运算数2(num2) 
    //(2)实施成员方法“加”(add),“减”(minus),“乘”(multiple),“除”(divide)
    class Calculator
    {
        public int num1;
        public int num2;
        public int add()
        {
            return num1 + num2;
        }
        public int minus()
        {
            return num1 - num2;
        }
        public int multiple()
        {
            return num1 * num2;
        }
        public double divide()
        {
            return (double)num1 / num2;
        }
        public Calculator(int num1, int num2)
        {
            this.num1=num1;
            this.num2=num2;
        }

    }
    class test
    {
        static void Main(string[] args)
        {
            Calculator ca = new Calculator(2, 3);
            Console.WriteLine(ca.num1+"+"+ca.num2+"="+ca.add());
            Console.WriteLine(ca.num1 + "-" + ca.num2 + "=" + ca.minus());
            Console.WriteLine(ca.num1 + "*" + ca.num2 + "=" + ca.multiple());
            Console.WriteLine(ca.num1 + "/" + ca.num2 + "=" + ca.divide());
      
            
        }
    }
}

 

4设计一个类CalculateArea,重载其方法Area,以实现能够计算圆(1个参数)、长方形(正方形)(2个参数)、三角形的面积(3个参数);并编写测试类,显示计算的面积。

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace test
{
//4、设计一个类CalculateArea,重载其方法Area,以实现能够计算圆(1个参数)、长方形(正方形)(2个参数)、三角形的面积(3个参数);
//并编写测试类,显示计算的面积。
//5、设计一个类MyClass,重载其方法Max,以实现能够比较2个整数或2个字符串的大小;并编写测试类,显示比较结果。
//6、在类中定义一个方法,实现计算不定数量整数的平方和。如:222+332+122=1717
    class CalculateArea
    {
        public double Area(int r)
        {
            return Math.PI*r*r;
        }
        public double Area(int longs,int width)
        {
            return longs*width;
        }
        public double Area(int di,int h,int num3)
        {
            return 1 / 2.0 * di * h;
        }

    }
    class test
    {
        static void Main(string[] args)
        {
            CalculateArea ca= new CalculateArea();
            Console.WriteLine("半径为1 的圆的面积为:"+ca.Area(1));
            Console.WriteLine("长为1,宽为2的长方形的面积为:" + ca.Area(1,2));
            Console.WriteLine("底为1,高为2的三角形的面积为:" + ca.Area(1,2,3));                 
        }
    }
}

 

 

 

5、设计一个类MyClass,重载其方法Max,以实现能够比较2个整数或2个字符串的大小;并编写测试类,显示比较结果。

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace test
{
    //5、设计一个类MyClass,重载其方法Max,以实现能够比较2个整数或2个字符串的大小;并编写测试类,显示比较结果。
    class MyClass
    {
       public int Max(int num1,int num2)
        {
            if (num1 > num2)
            {
                return 1;
            }
            else if (num1 < num2)
            {
                return -1;
            }
            else
            {
                return 0;
            }

        }
       public int Max(string num1, string num2)
       {
           return string.Compare(num1, num2);
       }
    }
   
    class test
    {
        static void Main(string[] args)
        {
            MyClass my = new MyClass();
            Console.WriteLine(my.Max(1, 2));
            Console.WriteLine(my.Max("aaa","bbb"));
        }
    }
}

 

 

 

6、在类中定义一个方法,实现计算不定数量整数的平方和。如:222+332+122=1717

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace test
{
    //6、在类中定义一个方法,实现计算不定数量整数的平方和。如:222+332+122=1717
    class cu
    {
        public int cunum(params int[] num)
        {
            int rel=0;
            for (int i = 0; i < num.Length; i++)
            {
                rel =rel+ num[i] * num[i];
            }
            return rel;
        }       
    }
    class test
    {
        static void Main(string[] args)
        {
            cu cu = new cu();
            int[] num = new int[] { 1,2,3};
            Console.WriteLine( cu.cunum(num));
        }
    }
}

2、假设某动物园管理员每天需要给他所负责饲养的狮子、猴子和鸽子喂食。我们用一个程序来模拟他喂食的过程。建立三个类LionMonkeyPigeon分别代表三种动物。饲养员用一个Feeder类来表示。

(1) 由于三种动物吃的东西不一样,Feeder类必须拥有喂三种动物的公有方法。

(2) 狮子、猴子和鸽子都是动物,可以建立一个Animal抽象基类,让狮子、猴子和鸽子从其派生出来。

(3) 不同的动物吃不同的食物,所以在Animal类中定义一个抽象的Eat方法,由子类负责实 现此方法。

(4) 编写一个测试类,测试饲养员喂养上述3种动物。

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace test
{
    //(1) 由于三种动物吃的东西不一样,Feeder类必须拥有喂三种动物的公有方法。
//(2) 狮子、猴子和鸽子都是动物,可以建立一个Animal抽象基类,让狮子、猴子和鸽子从其派生出来。
//(3) 不同的动物吃不同的食物,所以在Animal类中定义一个抽象的Eat方法,由子类负责实 现此方法。
    abstract class animal
    {
        public abstract void eat();
    }
    class Lion:animal
    {
        public override void eat()
        {
            Console.WriteLine("狮子吃肉");

        }
    }
    class Monkey:animal
    {
        public override void eat()
        {
            Console.WriteLine("猴子吃香蕉");
        }
    }
    class Pigeon:animal
    {
        public override void eat()
        {
            Console.WriteLine("鸽子吃粮食");
        }
    }
    class Feeder{
        public void feed(animal an)
        {
            an.eat();
        }

    }

//(4) 编写一个测试类,测试饲养员喂养上述3种动物。
    
    class test
    {
        static void Main(string[] args)
        {
            Feeder fd = new Feeder();
            Pigeon pi= new Pigeon();
            Monkey mo = new Monkey();
            Lion li= new Lion();
            fd.feed(pi);
            fd.feed(mo);
            fd.feed(li);
        }
    }
}

 

转载于:https://www.cnblogs.com/excellencesy/p/8325309.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验二 C#程序设计练习 一、实验目的 1.掌握C#语言的基本语法、控制语句及异常处理。 2.掌握C#类的基本使用方法以及C#语言面向对象的基本特性。 二、实验内容 1.编写一个函数,用于计算1!+2!+3!+4!+5!,在控制台或页面输出运行结果。 2.在控制台或页面输出九九乘法表。 3.输入10个以内的整数,输出该组整数的降序排列,要求采用数组实现。 4.计算两个数的商,在控制台或页面输出结果,要求包含异常处理。 5.定义一个汽车类,该类具有重量和速度属性;再定义一个跑车类,该类继承汽车类的属性,并拥有自己的颜色属性;然后声明一个汽车类的对象和一个跑车类的对象,并把它们的属性输出到控制台上。 6.假设某动物园管理员每天需要给他所负责饲养的狮子、猴子和鸽子喂食。请用一个程序来模拟他喂食的过程。 要求: (1)饲养员喂食时,不同动物执行不同的吃的功能,例如狮子吃肉、猴子吃香蕉、鸽子吃大米等。 (2)饲养员喂动物时,不能使用判断语句判断动物类型。 (3)使用虚方法或抽象方法实现喂养不同动物的多态,不能使用方法重载。 提示:需要建一个动物类,动物类有一个虚的或抽象的吃方法,动物类下面有几个子类,不同的子类重写父类的吃方法。饲养员类提供喂食方法。然后,在Main方法中一一调用吃的方法。 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Add2._1 { class Program { static void Main(string[] args) { int sum = 0; for (int i = 1; i < 6; i++) { int tmp = 1; for (int j = 1; j <= i; j++) { tmp = tmp * j; } sum += tmp; } Console.WriteLine("1!+2!+3!+4!+5!={0}\r\n", sum.ToString()); } } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值