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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM