C# for Unity 編程語言快速入門教程(連載3)---C#基礎(chǔ)編程題庫
公司主營業(yè)務(wù):網(wǎng)站建設(shè)、做網(wǎng)站、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出臺安免費做網(wǎng)站回饋大家。前兩篇文章按照基本編程類型,總結(jié)了“選擇結(jié)構(gòu)”、“循環(huán)結(jié)構(gòu)”、“數(shù)組”等典型題目,且都是非?;A(chǔ)簡單的題目。
現(xiàn)在提高一點難度,混合以上類型進行編程,提供帶答案的幾個典型題目如下:
// 第22題: 鍵入10 個整數(shù),統(tǒng)計其中正數(shù)(neg)、負(fù)數(shù)(pos)和零(zero)的個數(shù)并將三者輸出。
int intNegNum=0;
int intPosNum=0;
int intZeroNum=0;
for (int i = 1; i <=10; i++)
{
Console.WriteLine("請輸入第{0}個整數(shù)",i);
string strNumber = Console.ReadLine();
int intNumber = Convert.ToInt32(strNumber);
//判斷且輸出
if(intNumber>0)
{
++intNegNum;
}
else if (intNumber==0)
{
++intZeroNum;
}else{
++intPosNum;
}
}
Console.WriteLine("統(tǒng)計如下");
Console.WriteLine("整數(shù)有{0}個", intNegNum);
Console.WriteLine("負(fù)數(shù)有{0}個", intPosNum);
Console.WriteLine("零有{0}個", intZeroNum);
//第23題: 輸入一個學(xué)生的成績(在0~100 分之間,超出此范圍顯示錯),進行五級評分并顯示。
Console.WriteLine("請輸入你的學(xué)習(xí)成績");
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("優(yōu)秀");
}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的整型數(shù)組,輸入10個數(shù).輸出其中大于平均值的數(shù).
int[] intArray = new int[10];
float floTotal = 0; //10個數(shù)的總和
float floAVG = 0F; //平均數(shù)
//得到10個數(shù)的平均數(shù)
for (int i = 0; i <10; i++)
{
Console.WriteLine("請輸入第{0}個整數(shù)", i+1);
string strR = Console.ReadLine();
int intR = Convert.ToInt32(strR);
//輸入的數(shù)值存入數(shù)組
intArray[i] = intR;
//計算總和
floTotal += intR;
}
//得到平均數(shù)
floAVG = floTotal / 10;
//輸出大于平均值的數(shù)
for (int j = 0; j <10; j++)
{
if(intArray[j]>floAVG)
{
Console.WriteLine("大于平均數(shù)=" + intArray[j]);
}
}
//第27題: 輸入數(shù)字5輸出
* * *
* * *
* * *
* * *
*****
Console.WriteLine("請輸入顯示圖形的行數(shù)");
string strRowNumber = Console.ReadLine();
int intRowNumber = Convert.ToInt32(strRowNumber);
for (int i = 1; i <=intRowNumber; i++) //i 表示行數(shù)
{
if (i == intRowNumber)
{
Console.WriteLine("*****");
}
else {
Console.WriteLine("* * *");
}
}
//第28題: 模擬計算器輸入兩個數(shù)值與運算符,計算出相應(yīng)運算結(jié)果。
int intFirstNum;
int intSencondNum;
char chFlag;
Console.WriteLine("控制臺計算器");
Console.WriteLine("請輸入第一個整數(shù)操作數(shù)");
string strNum1 = Console.ReadLine();
intFirstNum = Convert.ToInt32(strNum1);
Console.WriteLine("請輸入操作符 + - * / ");
string strFlag = Console.ReadLine();
chFlag = Convert.ToChar(strFlag);
Console.WriteLine("請輸入第二個整數(shù)操作數(shù)");
string strNum2 = Console.ReadLine();
intSencondNum = Convert.ToInt32(strNum2);
//計算結(jié)果
switch (chFlag)
{
case '+':
Console.WriteLine("計算結(jié)果是:" + (intFirstNum + intSencondNum));
break;
case '-':
Console.WriteLine("計算結(jié)果是:" + (intFirstNum - intSencondNum));
break;
case '*':
Console.WriteLine("計算結(jié)果是:" + (intFirstNum * intSencondNum));
break;
case '/':
if (intSencondNum==0)
{
Console.WriteLine("除數(shù)不能為零!");
}else{
Console.WriteLine("計算結(jié)果是:" + (intFirstNum / intSencondNum));
}
break;
default:
break;
}
//第29題: 解法1(傳統(tǒng)方式): 輸出1-1000所有的素數(shù)
for (int i = 3; i <= 1000; i++)
{
bool IsSS = true; //素數(shù)變量
for (int j = 2; j < i; j++)
{
if (i % j== 0)
{
IsSS = false;
break;//表示 i不是素數(shù)
}
}
if (IsSS)
{
Console.WriteLine(i);
}
}
//解法2: 采用方法的方式,可以簡化編程邏輯。
//輸出1-1000所有的素數(shù)
public void Demo11()
{
for (int i = 3; i <=1000; i++)
{
if (JudgeSS(i))
{
Console.WriteLine(i);
}
}
}
///
/// 判斷是否為素數(shù)
///
///
///
/// true:表示素數(shù)
///
private bool JudgeSS(int num)
{
bool IsResult = true; //默認(rèn)是素數(shù)
for (int i = 2; i < num; i++)
{
if(num%i==0)
{
IsResult = false;//不是素數(shù)
break;
}
}
return IsResult;
}
以上提供帶參考答案的29個基礎(chǔ)題目,如果初學(xué)者可以全部領(lǐng)會貫通,將對后繼C#深入學(xué)習(xí)打下一個良好的基礎(chǔ)。
但是在這里筆者還是推薦,有充裕學(xué)習(xí)時間的初學(xué)者可以進行海量做題,以達到對編程思路(算法)的靈活訓(xùn)練之目的。故現(xiàn)在提供以下50+個精選編程題目,以供大家學(xué)習(xí)做題參考。(不提供參考答案,部分題目有重復(fù),做過的直接略過即可)
1: 定義一個學(xué)生的成績 mark 變量,
如果小于80,且打印"不及格"
如果大于等于80且小于100,則及格
如果大于等于100且小于120,則良好
如果大于等于120且小于等于150,則優(yōu)秀
2: 求分段函數(shù)的值。
f(x)= 0 (x<0)
= 2x+1 (x>=0)
3: 編寫程序,輸出1-100間的所有偶數(shù)。
4: 求1+2+3+ 。。。 +20 的結(jié)果。分別使用(while ,do_while ,for 三種循環(huán)語句)
5: 輸出1-100 之間不能被6整除的全部數(shù)字。
6:計算輸出1-100 之間的所有奇數(shù)且小于4位數(shù)字的累加和。
7: 計算1-100間所有整數(shù)的和,當(dāng)和為4位數(shù)時終止求和并輸出該和的值。
8: 打印輸出平方值小于20000的大整數(shù)。
9: 鍵入10 個整數(shù),統(tǒng)計其中正數(shù)(neg)、負(fù)數(shù)(pos)和零(zero)的個數(shù)并將三者輸出。
10: 輸入一個學(xué)生的成績(在0~100 分之間,超出此范圍顯示錯),進行五級評分并顯示。
11: 輸入一個圓半徑(r),計算并輸出圓的面積(s)和周長(l)
12: 輸入兩個實型數(shù)x 和y,計算并輸出它們的和、差、積和商。
13: 編一個程序,輸入一個整數(shù),輸出其符號(若>=0, 輸出1; 若<0, 輸出 -1 ).
14: 編寫一個程序,輸入實數(shù)x 的值,按下列公式計算并輸出 y 的值:
y= x (x<=1)
2x-1 (1
15: 編寫一個程序, 輸入三個單精度數(shù),輸出其中最小數(shù)。
16: 編寫一個程序, 輸入10個整數(shù),統(tǒng)計并輸出其中正數(shù)、負(fù)數(shù)和零的個數(shù)。
17: 用三種循環(huán)語句分別編寫程序顯示1-100 的平方值。
18: 打印輸出上三角,不能使用直接打印
*
**
***
****
*****
19: 打印輸出九九乘法表。
20: 編程序判斷某字符型變量中存放的是否為小寫字母。
21: 編寫程序輸入單個字符,判斷是否數(shù)據(jù)字符。是則輸出字符Y,否則輸出字符N
22: 輸入非0的三位整數(shù), 依次輸出該數(shù)的正(負(fù))號和百位、十位、個位數(shù)字。
23: 輸入一個字符,是字母則輸出“yes!”,否則無輸出。
24: 輸入一個整數(shù)x,若大于5且小于10的,則輸出“5
25: 計算下列分段函數(shù) ,y= 0 (x<-1.0)
1 (-1.0<=x<=1.0),其中X由鍵盤輸入。
10 (x>1.0)
26: 輸入一個字符,如果是數(shù)字則輸出字符1 ; 如果是大寫字母則輸出字符2 ;如果是小寫字母
則輸出字符3; 如果是空格則輸出字符4; 如果是回車換行符則輸出字符5; 是其他符號
則輸出字符6.
27: 輸入一個帶符號的短整型數(shù),輸出該數(shù)的位數(shù)。
28: 從鍵盤上輸入10個實數(shù),求其平均值
29: 輸入一個短整型正數(shù),輸出其各位數(shù)字的平方和。
30: 求整數(shù)1~100的累加值,但要求跳過所有個位為3的數(shù)。
31. 輸入數(shù)值判斷是否大于10且小于20
32. 輸入三個整數(shù),輸出其中大數(shù)
33. 模擬計算器輸入兩個數(shù)值與運算符,計算出相應(yīng)運算結(jié)果.
34. 輸入兩個數(shù),求這兩個數(shù)之間所有整數(shù)的和
35. 不斷輸入字符直到用戶輸入; 統(tǒng)計大寫字母與小寫字母及數(shù)字的個數(shù)
36. 輸入一個整數(shù),輸出各位 數(shù)值
37. 輸入數(shù)字5輸出
*****
* * *
* * *
* * *
* * *
38. 聲明并初始化長度為10的整型數(shù)組,輸入10個數(shù).輸出其中大于平均值的數(shù).
39. 輸入數(shù)值判斷是否是整數(shù),如:輸入156輸出”是”輸入5.68輸出”否”
40. 輸入三角形三邊,判斷三邊是否能構(gòu)成三角形
41. 輸入一個百分制成績,轉(zhuǎn)為A、B、C,A:90~100 ,B:80~89,C:70~79其他未D
42. 輸出A~Z 再輸出 a~z
43. 輸入大寫轉(zhuǎn)小寫 ,詢問用戶是否繼續(xù),輸入y繼續(xù)輸入n退出
44. 輸入一個整數(shù),輸出各位 數(shù)值
45. 輸入數(shù)字5輸出
* * *
* * *
* * *
* * *
*****
46. 聲明并初始化長度為10的整型數(shù)組,輸入10個數(shù).輸出其中大于平均值的數(shù).
50: 鍵盤輸入十個數(shù)值,統(tǒng)計輸出大于等于平均數(shù)的數(shù)值?!緮?shù)組應(yīng)用題目】
51: 有十個數(shù)放入數(shù)組中,用戶輸入一個數(shù)值,找出這個數(shù)值在本數(shù)值中的序號,
如果沒有輸出“不存在”!
52: 數(shù)組中已有升序的10個數(shù),輸入一個數(shù)插入到數(shù)組中該數(shù)組仍然升序。
53: 輸入一個數(shù)字統(tǒng)計其中0-9出現(xiàn)的次數(shù)。
以上三篇文章就C#的基本編程提供了大量習(xí)題,以供學(xué)習(xí)之用。下一篇,筆者來講解C#的面向?qū)ο筇匦耘c習(xí)題。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。