您好,登錄后才能下訂單哦!
C# for Unity 編程語言快速入門教程(連載3)---C#基礎編程題庫
前兩篇文章按照基本編程類型,總結了“選擇結構”、“循環結構”、“數組”等典型題目,且都是非常基礎簡單的題目。
現在提高一點難度,混合以上類型進行編程,提供帶答案的幾個典型題目如下:
// 第22題: 鍵入10 個整數,統計其中正數(neg)、負數(pos)和零(zero)的個數并將三者輸出。
int intNegNum=0;
int intPosNum=0;
int intZeroNum=0;
for (int i = 1; i <=10; i++)
{
Console.WriteLine("請輸入第{0}個整數",i);
string strNumber = Console.ReadLine();
int intNumber = Convert.ToInt32(strNumber);
//判斷且輸出
if(intNumber>0)
{
++intNegNum;
}
else if (intNumber==0)
{
++intZeroNum;
}else{
++intPosNum;
}
}
Console.WriteLine("統計如下");
Console.WriteLine("整數有{0}個", intNegNum);
Console.WriteLine("負數有{0}個", intPosNum);
Console.WriteLine("零有{0}個", intZeroNum);
//第23題: 輸入一個學生的成績(在0~100 分之間,超出此范圍顯示錯),進行五級評分并顯示。
Console.WriteLine("請輸入你的學習成績");
string strNumber = Console.ReadLine();
int intNumber = Convert.ToInt32(strNumber);
if(intNumber>100 || intNumber<0)
{
Console.WriteLine("輸入的范圍超出合理范圍");
}else if(intNumber>90 && intNumber<=100)
{
Console.WriteLine("卓越");
}else if(intNumber>80 && intNumber<=90)
{
Console.WriteLine("優秀");
}else if(intNumber>70 && intNumber<=80)
{
Console.WriteLine("良好");
}else if(intNumber>=60 && intNumber<=70)
{
Console.WriteLine("及格");
}else{
Console.WriteLine("不及格");
}
//第24題: 輸入一個圓半徑(r),計算并輸出圓的面積(s)和周長(l)
const float PI=3.1415F;
Console.WriteLine("請輸入圓的半徑");
string strR = Console.ReadLine();
int intR = Convert.ToInt32(strR);
Console.WriteLine("面積=" + PI * intR*intR);
Console.WriteLine("周長="+2*PI*intR);
//第25題: 打印輸出上三角,不能使用直接打印,如下圖
*
**
***
****
*****
for (int i = 1; i <= 5; i++) //行
{
for (int j = 1; j <= i; j++) //列
{
Console.Write("*");
}
Console.WriteLine();
}
//第26題:聲明并初始化長度為10的整型數組,輸入10個數.輸出其中大于平均值的數.
int[] intArray = new int[10];
float floTotal = 0; //10個數的總和
float floAVG = 0F; //平均數
//得到10個數的平均數
for (int i = 0; i <10; i++)
{
Console.WriteLine("請輸入第{0}個整數", i+1);
string strR = Console.ReadLine();
int intR = Convert.ToInt32(strR);
//輸入的數值存入數組
intArray[i] = intR;
//計算總和
floTotal += intR;
}
//得到平均數
floAVG = floTotal / 10;
//輸出大于平均值的數
for (int j = 0; j <10; j++)
{
if(intArray[j]>floAVG)
{
Console.WriteLine("大于平均數=" + intArray[j]);
}
}
//第27題: 輸入數字5輸出
* * *
* * *
* * *
* * *
*****
Console.WriteLine("請輸入顯示圖形的行數");
string strRowNumber = Console.ReadLine();
int intRowNumber = Convert.ToInt32(strRowNumber);
for (int i = 1; i <=intRowNumber; i++) //i 表示行數
{
if (i == intRowNumber)
{
Console.WriteLine("*****");
}
else {
Console.WriteLine("* * *");
}
}
//第28題: 模擬計算器輸入兩個數值與運算符,計算出相應運算結果。
int intFirstNum;
int intSencondNum;
char chFlag;
Console.WriteLine("控制臺計算器");
Console.WriteLine("請輸入第一個整數操作數");
string strNum1 = Console.ReadLine();
intFirstNum = Convert.ToInt32(strNum1);
Console.WriteLine("請輸入操作符 + - * / ");
string strFlag = Console.ReadLine();
chFlag = Convert.ToChar(strFlag);
Console.WriteLine("請輸入第二個整數操作數");
string strNum2 = Console.ReadLine();
intSencondNum = Convert.ToInt32(strNum2);
//計算結果
switch (chFlag)
{
case '+':
Console.WriteLine("計算結果是:" + (intFirstNum + intSencondNum));
break;
case '-':
Console.WriteLine("計算結果是:" + (intFirstNum - intSencondNum));
break;
case '*':
Console.WriteLine("計算結果是:" + (intFirstNum * intSencondNum));
break;
case '/':
if (intSencondNum==0)
{
Console.WriteLine("除數不能為零!");
}else{
Console.WriteLine("計算結果是:" + (intFirstNum / intSencondNum));
}
break;
default:
break;
}
//第29題: 解法1(傳統方式): 輸出1-1000所有的素數
for (int i = 3; i <= 1000; i++)
{
bool IsSS = true; //素數變量
for (int j = 2; j < i; j++)
{
if (i % j== 0)
{
IsSS = false;
break;//表示 i不是素數
}
}
if (IsSS)
{
Console.WriteLine(i);
}
}
//解法2: 采用方法的方式,可以簡化編程邏輯。
//輸出1-1000所有的素數
public void Demo11()
{
for (int i = 3; i <=1000; i++)
{
if (JudgeSS(i))
{
Console.WriteLine(i);
}
}
}
/// <summary>
/// 判斷是否為素數
/// </summary>
/// <param name="num"></param>
/// <returns>
/// true:表示素數
/// </returns>
private bool JudgeSS(int num)
{
bool IsResult = true; //默認是素數
for (int i = 2; i < num; i++)
{
if(num%i==0)
{
IsResult = false;//不是素數
break;
}
}
return IsResult;
}
以上提供帶參考答案的29個基礎題目,如果初學者可以全部領會貫通,將對后繼C#深入學習打下一個良好的基礎。
但是在這里筆者還是推薦,有充裕學習時間的初學者可以進行海量做題,以達到對編程思路(算法)的靈活訓練之目的。故現在提供以下50+個精選編程題目,以供大家學習做題參考。(不提供參考答案,部分題目有重復,做過的直接略過即可)
1: 定義一個學生的成績 mark 變量,
如果小于80,且打印"不及格"
如果大于等于80且小于100,則及格
如果大于等于100且小于120,則良好
如果大于等于120且小于等于150,則優秀
2: 求分段函數的值。
f(x)= 0 (x<0)
= 2x+1 (x>=0)
3: 編寫程序,輸出1-100間的所有偶數。
4: 求1+2+3+ 。。。 +20 的結果。分別使用(while ,do_while ,for 三種循環語句)
5: 輸出1-100 之間不能被6整除的全部數字。
6:計算輸出1-100 之間的所有奇數且小于4位數字的累加和。
7: 計算1-100間所有整數的和,當和為4位數時終止求和并輸出該和的值。
8: 打印輸出平方值小于20000的最大整數。
9: 鍵入10 個整數,統計其中正數(neg)、負數(pos)和零(zero)的個數并將三者輸出。
10: 輸入一個學生的成績(在0~100 分之間,超出此范圍顯示錯),進行五級評分并顯示。
11: 輸入一個圓半徑(r),計算并輸出圓的面積(s)和周長(l)
12: 輸入兩個實型數x 和y,計算并輸出它們的和、差、積和商。
13: 編一個程序,輸入一個整數,輸出其符號(若>=0, 輸出1; 若<0, 輸出 -1 ).
14: 編寫一個程序,輸入實數x 的值,按下列公式計算并輸出 y 的值:
y= x (x<=1)
2x-1 (1<x<10)
3x-11 (10<=x)
15: 編寫一個程序, 輸入三個單精度數,輸出其中最小數。
16: 編寫一個程序, 輸入10個整數,統計并輸出其中正數、負數和零的個數。
17: 用三種循環語句分別編寫程序顯示1-100 的平方值。
18: 打印輸出上三角,不能使用直接打印
*
**
***
****
*****
19: 打印輸出九九乘法表。
20: 編程序判斷某字符型變量中存放的是否為小寫字母。
21: 編寫程序輸入單個字符,判斷是否數據字符。是則輸出字符Y,否則輸出字符N
22: 輸入非0的三位整數, 依次輸出該數的正(負)號和百位、十位、個位數字。
23: 輸入一個字符,是字母則輸出“yes!”,否則無輸出。
24: 輸入一個整數x,若大于5且小于10的,則輸出“5<x<10”,否則無輸出。
25: 計算下列分段函數 ,y= 0 (x<-1.0)
1 (-1.0<=x<=1.0),其中X由鍵盤輸入。
10 (x>1.0)
26: 輸入一個字符,如果是數字則輸出字符1 ; 如果是大寫字母則輸出字符2 ;如果是小寫字母
則輸出字符3; 如果是空格則輸出字符4; 如果是回車換行符則輸出字符5; 是其他符號
則輸出字符6.
27: 輸入一個帶符號的短整型數,輸出該數的位數。
28: 從鍵盤上輸入10個實數,求其平均值
29: 輸入一個短整型正數,輸出其各位數字的平方和。
30: 求整數1~100的累加值,但要求跳過所有個位為3的數。
31. 輸入數值判斷是否大于10且小于20
32. 輸入三個整數,輸出其中最大數
33. 模擬計算器輸入兩個數值與運算符,計算出相應運算結果.
34. 輸入兩個數,求這兩個數之間所有整數的和
35. 不斷輸入字符直到用戶輸入; 統計大寫字母與小寫字母及數字的個數
36. 輸入一個整數,輸出各位 數值
37. 輸入數字5輸出
*****
* * *
* * *
* * *
* * *
38. 聲明并初始化長度為10的整型數組,輸入10個數.輸出其中大于平均值的數.
39. 輸入數值判斷是否是整數,如:輸入156輸出”是”輸入5.68輸出”否”
40. 輸入三角形三邊,判斷三邊是否能構成三角形
41. 輸入一個百分制成績,轉為A、B、C,A:90~100 ,B:80~89,C:70~79其他未D
42. 輸出A~Z 再輸出 a~z
43. 輸入大寫轉小寫 ,詢問用戶是否繼續,輸入y繼續輸入n退出
44. 輸入一個整數,輸出各位 數值
45. 輸入數字5輸出
* * *
* * *
* * *
* * *
*****
46. 聲明并初始化長度為10的整型數組,輸入10個數.輸出其中大于平均值的數.
50: 鍵盤輸入十個數值,統計輸出大于等于平均數的數值。【數組應用題目】
51: 有十個數放入數組中,用戶輸入一個數值,找出這個數值在本數值中的序號,
如果沒有輸出“不存在”!
52: 數組中已有升序的10個數,輸入一個數插入到數組中該數組仍然升序。
53: 輸入一個數字統計其中0-9出現的次數。
以上三篇文章就C#的基本編程提供了大量習題,以供學習之用。下一篇,筆者來講解C#的面向對象特性與習題。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。