.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();

 

        }

    }

}

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值