标签:select man .so from char tom 组成 master play
1.求以下表达式的值,写出您想到的一种或几种实现方法: 1-2+3-4+……+m
//通过奇偶性
static int F2(int m)
{
int sum = 0;
for (int i = 1; i <= m; i++)
{
if (i % 2 >0) //即为奇数
sum += i;
else
sum -= i;
}
return sum;
}
int count = 0; //统计个数
for (int bw = 1; bw <= 4; bw++)
{
for (int sw = 1; sw <= 4; sw++)
{
if (sw!= bw) //很显然,只有百位和十位不同的情况下才能谈个位。
{
for (int gw = 1; gw <= 4; gw++)
{
if (gw != sw && gw != bw) //百位用过的,十位就不能用;百位和十位都用过的,个位就不能用
{
count++;
Console.WriteLine("{0}{1}{2}", bw, sw, gw);
}
}
}
}
}
3.、一个6位数乘以一个3位数,得到一个结果。但不清楚6位数的两个数字是什么,而且结果中有一位数字也不清楚,请编程找出问好代表的数字,答案可能有多个。
表达式:12?56?*123 = 154?4987
for (int a = 0; a < 10; a++)
{
for (int b = 0; b < 10; b++)
{
for (int c = 0; c < 10; c++)
{
if ((120560 + a + b * 1000) * 123 == 15404987 + c * 10000)
{
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
}
}
}
}
4. 1、1、2、3、5、8、13、21、34,....用C#递归写出算法,算出第30个数。
static in F(int i)
{
if(i<=0)
return 0;
else if(i>0 && i<=2)
return 1;
else return F(i-1) + F(i-2);
}
static void Main(string[] args)
{
int n = F(30);
Console.WriteLine(n.ToString());
}
递归不需要循环啊
5.有一个字符串 "I am a good man",设计一个函数,返回 "man good a am I"。
public string F(string i)
{
string[] bill = i.Split(‘ ‘);
Stack<string> bike = new Stack<string>();
foreach (var item in bill)
{
bike.Push(item);
}
string[] temp = new string[bike.Count];
int gao = bike.Count;
for (int s = 0; s < gao; s++)
{
temp[s] = bike.Pop();
}
string k = string.Join(" ", temp);
return k;
}
方法二
static string Reverse()
{
string s = "I am a good man";
string[] arr = s.Split(‘ ‘);
string res = "";
for (int i = arr.Length - 1; i >= 0; i--)
{
res += arr[i];
if (i > 0)
res += " ";
}
return res;
}
6.九九乘法表的实现。
static void Mu()
{
string t = string.Empty;
for (int i = 1; i < 10; i++)
{
for (int j = 1; j <= i; j++)
{
t = string.Format("{0}*{1}={2} ", j, i, (j * i));
Console.Write(t);
//if (j * i < 82)
// Console.Write(" ");
if (i == j)
Console.Write("\n");
}
}
}
7.
在1~10000的整数中,找出同时符合以下条件的数:a.必须是质数。b.该数字各位数字之和为偶数,如数字12345,各位数字之和为1+2+3+4+5=15,不是偶数。
(1)、质数的理解:质数就是所有比1大的整数中,除了1和它本身外,不再有别的约数。2是一个不是奇数的质数,它既是质数也是偶数,面试者极容易忽略这点。判断数N是否为质数要直接从3开始判断(如果N不是2),首先不能是偶数,然后再判断是否能被3、5、7....整除,直到sqrt(N)止。
(2)、求各位数字之和,可以通过循环取余的办法。
解法待解
8.选择,冒泡,插入排序
解法待解
9.
程序设计:猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。
思路:1、构造出Cat、Mouse、Master三个类,并能使程序运行。
2、从Mouse和Master中提取抽象。
3、联动效应,只要执行Cat.Cryed()就可以使老鼠逃跑,主人惊醒。
通过这个例子,可以看出,委托事件的应用是极其面向对象的,或者说很对象化!
10.
5.A、B、C、D、E五名学生有可能参加计算机竞赛,根据下列条件判断哪些
人参加了竞赛:
(1)A参加时,B也参加;
(2)B和C只有一个人参加;
(3)C和D或者都参加,或者都不参加;
(4)D和E中至少有一个人参加;
(5)如果E参加,那么A和D也都参加。
public void Print() { char[] name = { ‘A‘, ‘B‘, ‘C‘, ‘D‘, ‘E‘ }; int[] value = new int[5]; for (value[0] = 0; value[0] < 2; value[0]++) for (value[1] = 0; value[1] < 2; value[1]++) for (value[2] = 0; value[2] < 2; value[2]++) for (value[3] = 0; value[3] < 2; value[3]++) for (value[4] = 0; value[4] < 2; value[4]++) { if ((value[1] >= value[0]) && (value[1] + value[2] == 1) && (value[2] == value[3]) && (value[3] + value[4] >
= 1) && (value[4] == 0 || value[4] == 1 && value[0] == 1 && value[3] == 1)) { for (int i = 0; i < 5; i++) { if (value[i] == 1) { Debug.Log("{0}参加" + name[i]); } else { Debug.Log("{0}不参加" + name[i]); } } } } }
6.用户在文本框中输入一个整数值。不使用库中的BUIT,将数值字符串转换为整数表示。
不会了。
static int StringTolnt(string s)
{
int sum = 0;
for (int i = 0; i < s.Length; i++)
sum = sum * 10 + (s[i] - ‘0‘);
return sum;
}
7.
1.产生20个不同的两位整数的随机数,并且对它们进行由小到大的排序。特别提醒:程序要自动生成20个不同的整数,而且这些整数必须是两位的,如:3不是两位整数,58是两位整数。
int N = 20; List<int> l = new List<int>(N); for (int i = 0; i < N;) { int a = Random.Range(10, 34); if (!l.Contains(a)) { l.Add(a); ++i } } l.Sort(); foreach (int a in l) { Debug.Log(a); } Debug.Log(l.Count);
8.不允许使用循环语句、条件语句,在控制台中打印出1-200这200个数。
199%200 =199;有点意思啊
(表达式1)&&(表达式2) 如果表达式1为假,则表达式2不会进行运算,即表达式2“被短路”
(表达式1)||(表达式2) 如果表达式1为真,则表达式2不会进行运算,即表达式2“被短路”
private static bool Print(int number)
{
Console.WriteLine(number);
return number >= 200 || Print(number + 1);
}
9.有5个Aspx页面,分别为"Page_1.aspx","Page_10.aspx","Page_100.aspx","Page_11.aspx","Page_111.aspx",请编写代码,让5个Aspx页面按下面的顺序输出:
private static void Order()
{
var pageList = new[] { "Page_1.aspx", "Page_10.aspx", "Page_100.aspx", "Page_11.aspx", "Page_111.aspx" };
pageList = pageList.OrderBy(s => int.Parse(Regex.Match(s, @"\d+").Value)).ToArray();
Array.ForEach(pageList,Console.WriteLine);
}
10.
给定一个字符串,试编写代码,实现重复N倍输出字符串的功能。
这个题目要注意的是char在C#中占用的是两个字节。
11.
给定一个整形数组,请用16进制的方式显示数组的值。
比方:一个short类型数组:[255,255,255],输出的结果为 00FF 00FF 00FF,如果是byte类型,则输出为 FF FF FF
private static void DisplayArrayValues(Array arr) { int elementLength = Buffer.ByteLength(arr) / arr.Length; string formatString = String.Format("{{0:X{0}}} ", 2 * elementLength); for (int ctr = 0; ctr < arr.Length; ctr++) Console.Write(formatString, arr.GetValue(ctr)); Console.WriteLine(); }
12.请自行实现一个函数,该函数的功能是将用户输入的numeric string 转换为integer。
private static int StringToInt(string str) { int result = 0; if (Regex.IsMatch(str, @"^-?[0-9]\d*")) { bool isNegative = false; if (str.IndexOf(‘-‘) != -1) { str = str.Substring(1); isNegative = true; } for (int i = 0; i < str.Length; i++) { result = result * 10 + (str[i] - ‘0‘); } result = isNegative ? result * -1 : result; } return result; }
13:给定一个整数num,判断这个整数是否是2的N次方。
private static bool GetFlag(int num)
{
if (num < 1) return false;
return (num & num - 1) == 0;
}
14.
试编写一副52张扑克牌的洗牌算法。
提示:每次洗牌的时候,给牌一个随机因子。
private static void Shuffle()
{
var random = new Random();
var result = new List<string>();
string[] cardType = { "红桃", "黑桃", "方块", "梅花" };
string[] cardValue = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" };
foreach (string type in cardType)
{
var list = cardValue.Select(value => string.Format("{0}{1}", type, value));
result.AddRange(list);
}
result = (from c in result orderby random.Next(0, 51) descending select c).ToList();
result.ForEach(str => Console.Write("{0},", str));
}
15.
一个牧场目前一共有20头刚出生的羊,母羊、公羊各一半。假如母羊5岁时后每年生一胎(母羊,公羊各一半)。羊活到10岁后死亡。请问20年后这个牧场有多少只羊? 请用C#写出算法。
这个题目原题有点蛋疼,我按我的意思,修改了下题目。
给出参考答案:
假如一胎生一只公羊和一只母羊。
static void Main(string[] args) { int sheepCount; for (int i = 1; i <= 20; i++) { sheepCount = GetSheepCount(i) - GetDeathSheepCount(i); Console.WriteLine(sheepCount); } }
private static int GetSheepCount(int year) { if (year <= 4) return 20; return GetSheepCount(year - 1) + GetSheepCount(year - 5) - GetDeathSheepCount(year); } private static int GetDeathSheepCount(int year) { if (year < 10) return 0; return GetSheepCount(year - 10); }
标签:select man .so from char tom 组成 master play
原文地址:https://www.cnblogs.com/xiaomao21/p/9180424.html