1. 程式人生 > >自己練習極速賽車平臺開發寫的--C#基礎篇十小練習

自己練習極速賽車平臺開發寫的--C#基礎篇十小練習

{0} program num gen != pla tasks public static

[csharp] view plain copy極速賽車平臺開發論壇:haozbbs.com Q1446595067

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
using System.Threading.Tasks;  

namespace P03  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            Test03_01();  
        }   
        public static void Test03_01()  
        {  
            /* 請編寫1個程序,該程序從控制臺接收用戶的輸入班級的人數, 
             * 然後分別從控制臺接收每1個人的成績.只要有1個的成績不合法 
             * (不在0-100的範圍或者輸入的不是整數),就提示用戶重新輸入該名學生的成績. 
             * 當所有的學生的成績輸入完畢之後,請打印出全班平均分, 
             * 然後再求出去掉1個最高分和去掉1個最低分後的平均分,然後將成績由高到低的順序打印出來.(25分) 
             */  

            Console.WriteLine("請輸入班級人數:");  
            int num = Convert.ToInt32(Console.ReadLine());  
            Console.WriteLine("您輸入的班級人數是 {0} ",num);  
            Console.WriteLine("請輸入學生的成績:");  
            //獲取成績,存儲到score  
            int[] score = new int[50];  
            int total = 0 ;  
            float averge = 0;  
            for (int i=0;i<num;)  
            {  
                string a = Console.ReadLine();  
                int b = -1;  
                if (int.TryParse(a, out b))  
                {  
                    if (b>=0&&b<=100)  
                    {  
                        score[i] = b;//輸入數值已經轉換為b  
                        i++;  
                    }  
                    else  
                    {  
                        Console.WriteLine("請輸入0-100的成績");  
                        //超出0-100範圍的報錯  
                    }  
                }  
                else  
                {  
                    Console.WriteLine("請輸入正確的成績!");  
                    //輸入不是整數報錯解釋  
                }  
            }  
            Console.WriteLine("輸入完畢!");  

            //打印輸入的成績  
            Console.WriteLine("您輸入的成績是:");  
            for (int j = 0; j < num; j++)  
            {  
                Console.WriteLine(score[j]);  
                total = total + score[j];  
            }  
            //求平均值  
            //Console.WriteLine("全班總分是{0}",total);  
            Console.WriteLine("************************************************************");  
            Console.WriteLine("                       輸入成績完畢!");  
            Console.WriteLine("************************************************************");  
            averge = (float)total/(float) num;  
            Console.WriteLine("平均分是{0}", averge);  
            int Max_Score = score.ToArray().Max();//直接可以獲取最大值,默認值是0  
            Console.WriteLine("最大值是{0}", Max_Score);  
            //計算最小值  
            int Min_Score =score[0];  
            for (int i = 0; i < num; i++)  
            {  
                if (Min_Score > score[i])  
                {  
                    Min_Score = score[i];  
                }  
            }  
            Console.WriteLine("最小值是{0}",Min_Score);  
            Console.WriteLine("************************************************************");  
            Console.WriteLine("去掉最高分{0}最低分{1}後,",Max_Score,Min_Score);  
            total = total - Max_Score - Min_Score;  
            //num = num - 2;  
            averge = (float)total / (float)(num-2);  
            Console.WriteLine("平均分是:{0}",averge);  
            Console.WriteLine("************************************************************");  

            for (int i = 0; i < num; i++)  
            {  
                if (score[i] != Max_Score )  
                {  
                    if (score[i] != Min_Score)  
                    {  
                        Console.WriteLine(score[i]);  
                    }  
                }  
            }  
            Console.ReadKey();  
        }  
        public static void Test03_02(int[] score)  
        {  
        }  
    }  
}  

自己練習極速賽車平臺開發寫的--C#基礎篇十小練習