在c#中编写一些常见的逻辑运算题

 

1.递归算法

一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第*位数是多少,用递归算法实现。

  static void Main(string[] args)
        {
          int num= cNum(*);
          Console.WriteLine(num);
          Console.ReadLine();
        }
        public static int cNum(int i) {
            if (i <= 0) {
                return 0;
            }
            else if (1<=i&&i<=2)
            {
                return 1;
            }
            else
            {
                return (cNum(i-2)+cNum(i-1));
            }
        } 

 

2.冒泡排序法

  static void Main(string[] args)
        {
          int[] array = { 6,12,34,5,8};  //随便定义一些数据
          Console.WriteLine("排序前:");
          for (int a = 0; a < array.Length; a++)
          {
              Console.Write(array[a]+" ");
          }
          Console.WriteLine();


          int temp;  //设置一个中间变量接收值
          for (int i = 0; i < array.Length - 1; i++)
          {
              for (int j = i; j < array.Length-1; j++)
              {
                  if (array[j + 1] > array[i]) {   //降序,改为< 就是升序
                      temp = array[j + 1];
                      array[j + 1] = array[i];
                      array[i] = temp;
                  }
              }
          }
           

          Console.WriteLine("排序后:");
          for (int b = 0; b < array.Length; b++)
          {
              Console.Write(array[b] + " ");
          }
          Console.ReadLine();
        }

3.素数

求在100-200之间有哪些素数.

static void Main(string[] args) {
        int num=0;
        for (int i = 101; i <=200 ; i++) {
            for (int j = 2; j <=i ; j++) {
                if (j==i){
                    num+=1;
                   Console.WriteLine(i);
                    break;
                }
                if (i%j==0){
                    break;
                }
              }
           }
        Console.WriteLine(num);
        Console.ReadLine();
      }

 

posted @ 2020-07-07 11:45  iCare℃  阅读(248)  评论(1编辑  收藏  举报