标签: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