1. 程式人生 > >.net機試題總結

.net機試題總結

1、下面是一個由*號組成的4行倒三角形圖案。要求:1、輸入倒三角形的行數,行數的取值3-21之間,對於非法的行數,要求丟擲提示“非法行數!”;2、在螢幕上列印這個指定了行數的倒三角形。

*******

*****

***

*

  static void Main(string[] args)

        {

            while (true) 

            { 

                Console.Write("請輸入行數:範圍3-21,輸入0退出程式。");

                int line = 0; 

                if (!Int32.TryParse(Console.ReadLine(), out line)) 

                { 

                    Console.WriteLine("請輸入正確的行數!");

                    continue; 

                } 

                if (line == 0) 

                {

                    Console.WriteLine("退出!");

                    break; 

                } 

                else if (!(line > 2 && line < 22)) 

                {

                    Console.WriteLine("非法行數!請輸入正確的行數!");

                    continue; 

                } 

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

                { 

                    int j = 0; 

                    for (; j < i; j++) 

                    { 

                        Console.Write(" ");

                    } 

                    for (int k = j; k < line; k++) 

                    { 

                        Console.Write("* "); 

                    } 

                    Console.WriteLine();

                } 

            }

        }


2、現有1~100共一百個自然數,已隨機放入一個有98個元素的陣列a[98]。要求寫出一個儘量簡單的方案,找出沒有被放入陣列的那2個數,並在螢幕上列印這2個數。注意:程式不用實現自然數隨機放入陣列的過程。

  static void Main(string[] args)

        {

            while (true) 

            {

                int[] arry = new int[98];

                Random rd = new Random();

                List<int> temp = new List<int>();

                //隨機產生98個1-100自然數

                while (temp.Count < 98)

                {

                    int result = rd.Next(1, 101);//隨機產生1~100隨機數;

                    if (temp.Contains(result))

                    {

                        continue;

                    }

                    temp.Add(result);

                }

                //將98個數填充到陣列中;

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

                {

                    arry[i] = temp[i];

                }


                ///*強烈推薦這種做法開始*/

                ////標識為1

                int[] arrytemp = new int[101];

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

                {

                    arrytemp[arry[i]] = 1;//給98個自然數標識;


                }

                for (int i = 1; i <= 100; i++)

                {

                    if (arrytemp[i] == 1)

                    {

                        continue;

                    }

                    Console.WriteLine(i);

                }

                /*強烈推薦這種做法結束*/

 

                /*以下一般的做法,我不推薦。。。。*/

                /*以下一般的做法,我不推薦。。。。*/

                /*以下一般的做法,我不推薦。。。。*/

                /*以下一般的做法,我不推薦。。。。*/

                /*以下一般的做法,我不推薦。。。。*/

                //定義一個泛型陣列

                List<int> aa = new List<int>();


                //賦值1-100自然數

                for (int i = 1; i <= 100; i++)

                {

                    aa.Add(i);

                }


                //如果隨機產生的98個自然數存在上面定義泛型陣列中,將它移除;

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

                {

                    if (aa.Contains(arry[i]))

                    {

                        aa.Remove(arry[i]);

                    }

                }

                //列印這兩個數

                foreach (var item in aa)

                {

                    Console.WriteLine(item);

                }

                Console.ReadKey();


     


                

            }

        }


3、一個文字檔案含有如下內容:

4580616022644994|3000|趙濤

4580616022645017|6000|張屹

4580616022645090|3200|鄭欣夏

上述檔案每行為一個轉賬記錄,第一列表示帳號,第二列表示金額,第三列表示開戶人姓名。

建立一張資料庫表(MS SQLServer資料庫,表名和欄位名自擬),請將上述檔案逐條插入此表中。

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Data.SqlClient;

using System.Diagnostics;


namespace 從文字中提取資料到資料庫中

{

    class Program

    {


        static void Main(string[] args)

        {

            //專案中的Programe.cs檔案必須加上以下神奇的程式碼,對資料庫的操作才能生效

            string dataDir = AppDomain.CurrentDomain.BaseDirectory;

            if (dataDir.EndsWith(@"\bin\Debug\")

                || dataDir.EndsWith(@"\bin\Release\"))

            {

                dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;

                AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);

            }


            //啟用秒錶來計時

            Stopwatch timer = new Stopwatch();

            timer.Start();

 

            string[] lines = System.IO.File.ReadAllLines(@"D:\轉賬記錄.txt", Encoding.Default);

            for (int i = 0; i < lines.Length; i++)

            {

                string[] str=lines[i].Split('|');


                using (SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;

AttachDBFilename=|DataDirectory|\ZhuanZhang.mdf;Integrated Security=True;User Instance=True"))

                {

                    conn.Open();

                    using (SqlCommand cmd = conn.CreateCommand())

                    {

                        cmd.CommandText = "Insert into T_ZhuanZhang (CardNum,Money,Name) values (@CardNum,@Money,@Name)";

                        cmd.Parameters.Add(new SqlParameter("CardNum", str[0]));

                        cmd.Parameters.Add(new SqlParameter("Money", str[1]));

                        cmd.Parameters.Add(new SqlParameter("Name", str[2]));

                        cmd.ExecuteNonQuery();

                    }

                }

            }


            Console.WriteLine("資料匯入成功!");

            timer.Stop();

            Console.WriteLine(timer.Elapsed);

            Console.ReadKey();

 

        }

    }

}
---------------------
作者:wangjingjing1014
來源:CSDN
原文:https://blog.csdn.net/wangjingjing1014/article/details/9234123
版權宣告:本文為博主原創文章,轉載請附上博文連結!