.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();
}
}
}
上一篇: 人工智能商业化加速 聊天机器人成投资热点
下一篇: 小型机器人Evo即将面世 教育与娱乐并行