.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
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自www.cnblogs.com/licin/p/10056903.html