文章出處
文章列表
1、聲明兩個變量:int n1 = 10, n2 = 20;要求將兩個變量交換,最后輸出n1為20,n2為10。
擴展(*):不使用第三個變量如何交換?
用方法來實現:封裝一個方法來做。
* 提示:方法有兩個參數n1,n2,在方法中將n1與n2進行交換,使用ref。
static void Main(string[] args)
{
int n1 = 10, n2 = 20;
Console.WriteLine("交換之前:n1 = {0}, n2 = {1}", n1, n2);
//不使用方法來做
//n1 = n1 + n2;
//n2 = n1 - n2;
//n1 = n1 - n2;
Swap(ref n1, ref n2);
Console.WriteLine("交換之后:n1 = {0}, n2 = {1}", n1, n2);
Console.ReadKey();
}
static void Swap(ref int n1,ref int n2)
{
n1 = n1 + n2;
n2 = n1 - n2;
n1 = n1 - n2;
}
上面的Swap方法中,還可以使用另一種方式交換變量。
n1 = n1 - n2; // 10 - 20 得到結果:n1 = -10
n2 = n1 + n2; // 20 + (-10) 得到結果:n2 = 10
n1 = n2 - n1; // 10 - (-10) 得到結果:n1 = 20
2. 判斷是否是質數(素數)
static bool IsPrime(int n)
{
if (n < 2)
{
return false;
}
else
{
for (int i = 2; i < n; i++)
{
if (n % i == 0)
{
return false;
}
}
return true;
}
}
3. 四舍五入
題目會要求,顯示小數點后兩位(四舍五入)
按照C語言,自寫的算法。先將double類型的數據乘以1000后轉換為int類型;再取出最后一位數字,若大于等于5,
則將給這個int類型的數據加上10;最后將int類型的數據乘以1.0轉換為double類型后,除以1000,得到最終的結果。
static double Drop4Round5(double d)
{
int n = (int)(d * 1000);
int nLast = n % 10;
if (nLast >= 5)
{
n += 10;
}
n = n/10;
double db = (1.0 * n) / 100;
return db;
}
其實我們可以借助ToString方法更快地解決問題,ToString可以根據指定的格式將double類型的數值轉換為等效字符串表示形式。如1.23456,保留后兩位小數,四舍五入,得到字符串 “1.23”。最后調用Convert類的ToDouble方法即可。
avg = Convert.ToDouble(avg.ToString("0.00"));
文章列表
全站熱搜