第二章

 

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);
        }
    }
}

 

posted on 2018-01-21 20:24  song.yan  阅读(1776)  评论(0编辑  收藏  举报