看板 Knuckles
作者 標題 為了找工作的C++課程--作業3
時間 2008年08月14日 Thu. AM 02:47:34
課本看到8-3
1. Swap
寫一個function:swap(a,b),呼叫後會將a與b的值交換
使用call by address與call by reference,兩個方法都寫寫看
2. 泡沫排序,排名字
設一個長度為11的字元指標陣列,把以下人名加入:
"Knuckles", "Little Apple", "josh", "dog", "lion", "meng", "keanos",
"bookie", "sibyllaliu", "rudolph", "awei"
寫一個可將這個陣列依第一個字母做排序的function
並將結果顯示出來
3. 巴斯卡三角型
寫一個組合公式的Function
n!
C(n,x) = ─────
(n-x)! x!
利用C(n,x),畫出巴斯卡三角型
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
....
三角型的高度由使用者輸入
--
※ 來源: 台大電信 DISP 實驗室 (http://disp.twbbs.org)
※ 作者: Knuckles 來自: 140.112.175.128 時間: 2008-08-14 02:47:34
※ 編輯: Knuckles 來自: 140.112.175.128 時間: 2008-08-14 02:55:30
推 keanos: 報告老師 有兩題第二題 >>140.112.175.134 08-14 23:18
推 keanos: 第三題 記得好像也不一定要用那個公式吧 用公式好像比較簡單XD >>140.112.175.134 08-14 23:19
※ 編輯: Knuckles 來自: 140.112.175.128 時間: 2008-08-15 00:03:32
推 Knuckles: ㄟ 這次作業的主題是function,所以重點是組合公式啦 >>140.112.175.128 08-15 00:05
※ 編輯: Knuckles 來自: 140.112.175.128 時間: 2008-10-13 04:07:27
2. ans
#include <iostream>
using namespace std;
void sort_str(char **,int);
int main()
{
}
void sort_str(char **list,int N)
{
}
3. ansusing namespace std;
void sort_str(char **,int);
int main()
{
char *list[11] = {"Knuckles", "Little Apple", "josh", "dog", "lion",
"meng", "keanos", "bookie", "sibyllaliu", "rudolph", "awei"};
cout << "原本的順序:" << endl;
int i;
for(i=0;i<11;i++){
cout << list[i] << endl;
}
sort_str(list,11);
cout << "排序後的順序:" << endl;
for(i=0;i<11;i++){
cout << list[i] << endl;
}
system("pause");
return 0;
}
void sort_str(char **list,int N)
{
int i,j;
char *temp;
char a,b;
for(i=1;i<N;i++){
for(j=1;j<=N-i;j++){
a = *list[j-1];
b = *list[j];
if(a<=90) a+= 32;
if(b<=90) b+= 32;
if(a > b){
temp = list[j];
list[j] = list[j-1];
list[j-1] = temp;
}
}
}
}
#include <iostream>
using namespace std;
int c(int,int);
int fac(int);
int main()
{
}
int c(int n,int x)
{
}
int fac(int n)
{
}
using namespace std;
int c(int,int);
int fac(int);
int main()
{
int n,x,L;
cout << "請輸入巴斯卡三角型的層數:";
cin >> L;
for(n=0;n<L;n++){
for(x=0;x<=n;x++){
cout << " " << c(n,x);
}
cout << endl;
}
system("pause");
return 0;
}
int c(int n,int x)
{
return fac(n)/(fac(n-x)*fac(x));
}
int fac(int n)
{
if(n==0) return 1;
int i,x=1;
for(i=2;i<=n;i++)
x*=i;
return x;
}
※ 編輯: Knuckles 來自: 140.112.175.128 時間: 2008-10-19 02:03:30
※ 編輯: Knuckles 來自: 140.112.175.130 時間: 2009-05-31 15:25:33
推 nick:完成了 XD 在公司學BCB
>>220.135.250.105 08-28 14:39
※ 編輯: Knuckles 時間: 2015-10-19 07:39:47
※ 看板: KnucklesNote 文章推薦值: 4 目前人氣: 0 累積人氣: 1000
回列表(←)
分享