程序基础(二)

此篇主要是在学习了程序基础后,编写的基础性综合小程序示例。

示例1:写一个函数,功能是提示并获取用户输入的数,判断该数是奇数还是偶数。然后,在主函数中调用两次该函数。

主函数:

static void Main(string[] args)
        {
            Console.Write("请输入一个整数:");
            int input = int.Parse(Console.ReadLine());
            IsOdd(input);//函数调用
Console.ReadLine();
}

判断奇偶性的函数:

static void IsOdd(int n){           
           if (n > 0){
               if (n % 2 == 0){
                   Console.Write("您输入的是偶数");
               }
               else{
                   Console.Write("您输入的是奇数");
               }
           }
           else{
               Console.Write("输入错误!");
           }
       }

示例2:

public static void Main(string[] args){
    int n = 1;
    test();
    Console.WriteLine(n);
    Console.ReadLine();
}    
static void test(){
    int n = 0;
    n++;
    Console.WriteLine(n);
}
上面的代码运行后会输出什么?
答案:1和1

示例3:写一个函数遍历输出一个int数组中所有的内容

//主函数中测试
public static void Main(string[] args){
    //测试1
    int[] nums = { 3, 4, 6, 83, 2 };
    PrintArray(nums);
    //测试2
    PrintArray(new int[] { 34, 21, 2 });
    Console.ReadLine();
}
//遍历数组
static void PrintArray(int[] nums){
    foreach (int item in nums){
        Console.Write(item + "\t");
    }
    Console.WriteLine();
}

示例4:写一个函数,对一个int类型的数组进行升序排序 

public static void Main(string[] args){
    int[] nums = { 3, 4, 5, 7, 2, -33, 444 };
    Sort(nums);
    Console.Write("排序后:");
    foreach (int item in nums){
        Console.Write(item + "\t");
    }
    Console.ReadLine();
}
//排序函数
static void Sort(int[] nums){
    for (int i = 0; i < nums.Length - 1; i++){
        //在 i-(nums.Length-1) 范围内,将该范围内最小的数字提到i
        for (int j = i + 1; j < nums.Length; j++){
            if (nums[i] > nums[j]){
                //交换
                int temp = nums[i];
                nums[i] = nums[j];
                nums[j] = temp;
            }
        }
    }
}

  示例5:写一个函数,对一个数组求和,得到求和结果,然后在主函数中,测试该函数,输出求和的结果

public static void Main(string[] args){
    int[] nums = { 3, 4, 5, 7, 2, -33, 444 };
    Console.WriteLine("数组中的所有项之和为:" + GetSum(nums));
    Console.ReadLine();
}
static int GetSum(int[] nums){
    int sum = 0;
    foreach (var item in nums){
        sum += item;
    }
    return sum;//返回值为int类型
}

示例6:编写函数,判断一个数是不是质数;然后在主函数中做以下功能:

  1.输出一个数组中所有的素数

  2.求一个数组中的所有素数之和 

public static void Main(string[] args){
    int[] nums = { 3, 4, 5, 7, 2, -33, 444 };
    //1.输出一个数组中所有的素数
    foreach (int item in nums){
        if (IsPrime(item)){
            Console.Write(item + "\t");
        }
    }
    Console.WriteLine();
    //2.求一个数组中的所有素数之和
    int sum = 0;
    foreach (int item in nums){
        if (IsPrime(item)){//通过调用判断质数的函数实现条件判断
            sum += item;
        }
    }
    Console.WriteLine("素数之和为:" + sum);
    Console.ReadLine();
}
//判断质数的函数
static bool IsPrime(int n){
        if (n < 2){
            return false;
        }
        for (int i = 2; i < n; i++){
            if (n % i == 0)
            {
                return false;//不是质数返回false
            }
        }
        return true;
}

 示例7:一个数n的阶乘,记作:n!,它等于1*2*3*...*n;也可以理解为n的阶乘等于n乘以n-1的阶乘:n!=n*(n-1)!;尝试利用递归的思想,完成一个函数,该函数用于求某个数的阶乘。

/// <summary>
/// 求n的阶乘
/// </summary>
/// <param name="n"></param>
/// <returns></returns>
static int GetFactorial(int n)
{
    if (n == 1)
    {
        return 1;
    }
    else
    {
        return n * GetFactorial(n - 1);//调用函数自身实现阶乘运算
    }
}

 

posted @ 2017-08-20 10:26  小伍w  阅读(170)  评论(0编辑  收藏  举报