二、1.break與continue. 這兩個關(guān)鍵字一般放在循環(huán)的花括號里面使用。break——結(jié)束整個循環(huán)。continue——結(jié)束本次循環(huán),進入下次循環(huán)。
break的案例:int i = 1;for(;;) {if(i>100) {break; } Console.Write(i+"\t"); i++; }
continue的案例:for (int i = 1; i <= 100; i++) {if(i%2 == 0) {continue; } Console.Write(i + "\t"); }2.while循環(huán)//初始條件while(循環(huán)條件) {//循環(huán)體//狀態(tài)的改為} 案例:int i = 1;int count=0; //記錄與7有關(guān)的數(shù)字的個數(shù)while(i<=100) {if(i%7==0 || i%10==7||i/10==7) { Console.Write(i+"\t"); count++;//1} i++;//2}//3Console.Write("共有"+count+"個與7相關(guān)的數(shù)");3.do...while(循環(huán)條件)簡單了解。 即使初始條件不滿足循環(huán)條件,循環(huán)還會執(zhí)行一次。 至少執(zhí)行一次。
數(shù)組:解決同一類大量數(shù)據(jù)在內(nèi)存存儲和運算的功能。 分類:一維數(shù)組、二維數(shù)組、多維數(shù)組。 特點:連續(xù),同一類數(shù)據(jù)。
一、一維數(shù)組:豆角。 定義:指定類型,指定長度,指定名稱。int[] a = new int[5]; //5是長度。從1開始算。默認5個元素初始值都是0.int[] a = new int[5] { 90, 95, 89, 76, 99 };int[] a = new int[5] { 90, 95, 89 }; //語法有錯,后面初始化的值必須是5個。int[] a = new int[] { 90, 95, 89, 76, 99}; //計算機會根據(jù)后面的賦值,動態(tài)計算數(shù)組的長度。賦值: 數(shù)組名[下標數(shù)值] = 值;int[] a = new int[5]; a[0] = 10; a[1] = 20; a[2] = 30; a[3] = 40; a[4] = 50;
取值: 數(shù)組名[下標數(shù)值]; //下標數(shù)值從0開始。Console.WriteLine(a[3]+a[0]);
數(shù)組的好處:1.對于大量數(shù)據(jù)來說,保存的時候,定義一個數(shù)組即可解決。2.用循環(huán)來控制數(shù)組的下標,可以對數(shù)組進行批量操作。 例如:int[] a = new int[5];//數(shù)組的批量賦值for (int i = 0; i < 5;i++ ) { a[i] = (i + 1) * 10; }//數(shù)組的批量取值。for (int j = 0; j < 5;j++ ) { Console.WriteLine(a[j]); //0下標。}
案例一:做一個教練為6個球員打分的程序。//定義一個保存球員成績的數(shù)組int[] a = new int[6];//輸入for (int i = 0; i < a.Length; i++) { Console.Write("請輸入第"+(i+1)+"個球員的成績:"); a[i] = Convert.ToInt32(Console.ReadLine()); }//輸出for(int j=0;j<a.Length;j++) { Console.WriteLine("第"+(j+1)+"位球員的分數(shù)是"+a[j]+"分。"); } 案例二:在案例一的基礎上,顯示球員總分和平均分。
案例三:在案例二的基礎上,顯示最高分和最低分,以及相應球員的代號。
案例四:青歌賽中有10個評委給一個選手打分,每打分后,要去掉2個最高分和2個最低分,計算該選手的平均得分。//int[] a = new int[10];//for (int t = 0; t < 10; t++)//{// Console.Write("請為選手打分:");// a[t] = Convert.ToInt32(Console.ReadLine());// for (int i = 1; i <= a.Length - 1; i++)// {// for (int j = 1; j <= a.Length - i; j++)// {// if (a[j - 1] < a[j])// {// int mm = a[j];// a[j] = a[j - 1];// a[j - 1] = mm;// }// }// }//}// int sum = 0;// for (int p = 2; p < a.Length - 2; p++)// {// sum = sum + a[p];// }// Console.Write("選手得分是"+1.0*sum/6);案例五:做一個36選7的彩票生成器。//int[] a=new int[7];//Random rand = new Random();//for (int i = 0; i < 7; i++)//7 代表要生成7個不同的數(shù)//{//生成一個隨機數(shù)// int n = rand.Next(36);// n++;//查重// bool chong = false;// for (int j = 0; j < a.Length; j++)// {// if (n == a[j])// {// chong = true;// break;// }// }//才能確定n合不合理// if (chong == false)// {// a[i] = n;// }// else// {// i--;// }//}//顯示彩票號碼// for(int k=0;k<a.Length ;k++)// {// Console .Write(a[k]+"\t");// }案例六 20個手機號 滾動顯示,隨機抽取一個中獎號碼
方法一//string[] call = new string[] { n個手機號 };//Random rand = new Random();//for (int i = 0; i < 500; i++)//{// //隨機生成數(shù)組的下表// System.Threading.Thread.Sleep(50);// int sub=rand.Next (call.Length) ;// //根據(jù)下表取數(shù)組的元素之// string s=call[sub];// Console .Clear();// Console .WriteLine(s);//}方法2//string[] a = new string[20];//Random rand = new Random();//for (int i = 0; i < a.Length; i++)//{// Console.Write("請輸入第" + (i + 1) + "個號碼:");// a[i] = (Console.ReadLine());//}// for (int i = 0; i < a.Length; i++)// {// System.Threading.Thread.Sleep(50);// int n = rand.Next(a.Length );// string s = a[n];// Console.Clear();// Console.Write("中獎號碼是" + s);//}案例7 選班長 30個同學投票,從5個候選人中選出一個班長int[] vote = new int[5];
for (int i = 0; i < 30; i++) { Console.Write("第" + (i + 1) + "個同學投票的結(jié)果是(a-1,b-2,c-3.d-4,e-5):");int temp = Convert.ToInt32(Console.ReadLine());if (temp <0|| temp >4) { Console.Write("廢票");continue;
}else{ vote[temp]++; }
}int max=0,maxsub=0;for(int i=0;i<vote.Length ;i++) { Console .WriteLine("第"+(i+1)+"號候選人的票數(shù)是:"+vote[i]);if(vote[i]>max) { max=vote[i]; maxsub=i+1; } } Console .WriteLine (maxsub+"號候選人當選");
|