Time of Update: 2017-01-18
下面將原始碼貼出。 複製代碼 代碼如下: public static class ChineseToPinYin { private static readonly Dictionary<int, string> CodeCollections = new Dictionary<int, string> { { -20319, "a" }, { -20317, "ai" }, { -20304, "an" }, { -20295, "ang" }, { -20
Time of Update: 2017-01-18
1、問題引入自己在寫一個linux下的類比執行指令的時候,遇到了輸入"cat a.c”,要將該字串分解成cat和a.c兩個單獨的字串,雖然知道有strtok的存在,但是想自己嘗試寫一下,於是就自己寫了一個,不過總是遇到這樣或那樣的問題,雖然最後調通了,不過確浪費了不少時間;後來作業交上去以後又仔細閱讀了strtok函數,發現原來linux下已經改成strsep,所有在這裡就寫一下自己所走的過程。2、自己寫的字串分割函數:用於分割指令,比如cat a.c最後會被分割成cat和a.c兩個字串、mv
Time of Update: 2017-01-18
說起來很有意思,自認為對C語言理解得還是比較深刻的。但居然到今天才知道有個strtok函數,試用了一下突然感慨以前做了多少重複勞動。每次需要解析設定檔,每次需要分割字串,居然都是自己去分割字串,既累人又容易出錯。感概技術學得不夠全面啊!這裡引用一段strtok用法:The strtok() function returns a pointer to the next "token" in str1, where str2 contains the
Time of Update: 2017-01-18
本文執行個體講述了C++簡單輸出鑽石菱形圖效果的方法。分享給大家供大家參考,具體如下:/** 作 者: 劉同賓* 完成日期:2012 年 11 月 25 日* 版 本 號:v1.0* 輸入描述:* 問題描述: 設計和輸出鑽石圖形。* 程式輸出:* 問題分析:略* 演算法設計:略*/#include<iostream>using namespace std;int main(){ char a[][5]={{' ',' ','*'},{' ','*',' ','*'},{'*','
Time of Update: 2017-01-18
本文執行個體講述了C++通過自訂函數求一元二次方程的根。分享給大家供大家參考,具體如下:/** 作 者: 劉同賓* 完成日期:2012 年 11 月 24 日* 版 本 號:v1.0* 輸入描述:* 問題描述: 求一元二次方程的根。定義函數* 程式輸出:* 問題分析:略* 演算法設計:略*/#include<iostream>#include<cmath>using namespace std;double x,x1,x2,t; //定義全域變數void f1();
Time of Update: 2017-01-18
本文執行個體講述了C++三色球問題。分享給大家供大家參考,具體如下:/** 作 者:劉同賓* 完成日期:2012 年 11 月 15 日* 版 本 號:v1.0** 輸入描述:* 問題描述:三色球問題:若一個口袋中放有12個球,其中有3個紅的。3個白的和6個黒的,問從中任取8個共有多少種不同的顏色搭配?* 提示: 設任取的紅球個數為i,白球個數為j,則黒球個數為8-i-j,根據題意紅球和白球個數的取值範圍是0~3,* 在紅球和白球個數確定的條件下,黒球個數取值應為8-i-j<=6。**
Time of Update: 2017-01-18
本文執行個體講述了C++迴文數及素數問題計算方法。分享給大家供大家參考,具體如下: /** 作 者: 劉同賓* 完成日期:2012 年 11 月 16 日* 版 本 號:v1.0** 輸入描述: 編製一個傳回值為bool型的函數isPrimer(),用於判斷參數是否為素數,isPalindrome()用於判斷參數是否是迴文數,調用函數回答以下問題(可以分別編製幾個程式完成,也可以在一個main()函數中完成,輸出時,用明顯的提示,說明正在完成哪個任務。) (1)輸出10000以內的所有素數。
Time of Update: 2017-01-18
本文執行個體講述了C++求四個正整數最大公約數的方法。分享給大家供大家參考,具體如下:/** 作 者: 劉同賓* 完成日期:2012 年 11 月 16 日* 版 本 號:v1.0** 輸入描述: 輸入四個正整數,輸出其最大公約數。* 問題描述:* 程式輸出:* 問題分析:略* 演算法設計:略*/#include<iostream>using namespace std;int f(int,int);int g(int,int,int,int);int main(){ int a,
Time of Update: 2017-01-18
本文執行個體講述了C++使用遞迴方法求n階勒讓德多項式的實現方法。分享給大家供大家參考,具體如下:/** 作 者: 劉同賓* 完成日期:2012 年 11 月 24 日* 版 本 號:v1.0* 輸入描述:* 問題描述: 用遞迴方法求n階勒讓德多項式的值。。* 程式輸出:* 問題分析:略* 演算法設計:略*/#include<iostream>using namespace std;int main(){ double p(double,double); double
Time of Update: 2017-01-18
本文執行個體講述了C語言簡單實現求n階勒讓德多項式的方法。分享給大家供大家參考,具體如下:#include <stdio.h>float p(float x,int n){float p_n; if(0==n) {p_n=1;} else if(1==n) { p_n=x; } else { p_n=((2*n-1)*x-p(x,n-1)-(n-1)*p(x,n-2))/n; } return p_n;}main(){ int n; printf("input n :");
Time of Update: 2017-01-18
try-finally語句是Microsoft對C和C++語言的擴充,它能使32位的目標程式在異常出現時,有效保證一些資源能夠被及時清除,這些資源的清除任務可以包括例如記憶體的釋放,檔案的關閉,檔案控制代碼的釋放等等。try-finally語句特別適合這樣的情況下使用,例如一個常式(函數)中,有幾個地方需要檢測一個錯誤,並且在錯誤出現時,函數可能提前返回。#include <windows.h>#include <stdio.h>try-finally語句的文法與try-
Time of Update: 2017-01-18
你可以用這種方式讀取一個單獨的以空格結束的詞:#include<iostream>#include<string>using namespace std;int main(){ cout << "Please enter a word:\n"; string s; cin>>s; cout << "You entered " << s <<
Time of Update: 2017-01-18
代碼很簡單,這裡就不多廢話了,直接奉上:#include <iostream>using namespace std; int* reverse(int* list, int size){ for (int i = 0, j = size - 1; i < j; i++, j--) { // Swap list[i] with list[j] int temp = list[j]; list[j] = list[i]; list[i] = temp; }
Time of Update: 2017-01-18
考慮一下: delete p; // ... delete p;如果在...部分沒有涉及到p 的話,那麼第二個“delete p;”將是一個嚴重的錯誤,因為C++的實現(譯註:原文為a C++ implementation,當指VC++這樣的實現了C++標準的具體工具)不能有效地防止這一點(除非通過非正式的預防手段)。既然delete
Time of Update: 2017-01-18
大多數的運算子能夠被程式員重載。例外的是: . (點符號) :: ?: sizeof並沒有什麼根本的原因要禁止重載?:。僅僅是因為,我沒有發現有哪種特殊的情況需要重載一個三元運算子。注意一個重載了 運算式1?運算式2:運算式3 的函數,不能夠保證運算式2:運算式3 中只有一個會被執行。Sizeof 不能夠被重載是因為內建的操作(built-in operations),諸如對一個指向數組的指標進行增量操作,必須依靠它。考慮一下: X a[10
Time of Update: 2017-01-18
由遇到的問題引出原廠模式在物件導向系統設計中經常可以遇到以下的兩類問題:◆ 1.為了提高內聚(Cohesion)和松耦合(Coupling),我們經常會抽象出一些類的公用介面以形成抽象基類或者介面。這樣我們可以通過聲明一個指向基類的指標來指向實際的子類實現,達到了多態的目的。這裡很容易出現的一個問題 n 多的子類繼承自抽象基類,我們不得不在每次要用到子類的地方就編寫諸如 new
Time of Update: 2017-01-18
c語言結構體位移 樣本1我們先來定義一下需求:已知結構體類型定義如下:struct node_t{ char a; int b; int c;};且結構體1Byte對齊#pragma pack(1)求:結構體struct
Time of Update: 2017-01-18
什麼是結構體?簡單的來說,結構體就是一個可以包含不同資料類型的一個結構,它是一種可以自己定義的資料類型,它的特點和數組主要有兩點不同,首先結構體可以在一個結構中聲明不同的資料類型,第二相同結構的結構體變數是可以相互賦值的,而數組是做不到的,因為數組是單一資料類型的資料集合,它本身不是資料類型(而結構體是),數組名稱是常量指標,所以不可以做為左值進行運算,所以數組之間就不能通過數組名稱相互複製了,即使資料類型和數組大小完全相同。結構體的定義定義結構體使用struct修飾符,例如:struct
Time of Update: 2017-01-18
什麼是位元組對齊,為什麼要對齊?現代電腦中記憶體空間都是按照byte劃分的,從理論上講似乎對任何類型的變數的訪問可以從任何地址開始,但實際情況是在訪問特定類型變數的時候經常在特
Time of Update: 2017-01-18
介紹經常出現用戶端打電話抱怨說:你們的程式慢如蝸牛。你開始檢查可能的疑點:檔案IO,資料庫訪問速度,甚至查看web服務。