題目:
從鍵盤輸入一行或幾行字串,行數由鍵盤輸入,一行字串用字元陣列儲存。字串中只有英文數字和字元
void
calculate
(char
*s);
//ascii碼一共128個,全部算入
while
(*s!=
'\0'
)}
題目:
有10個小朋友圍成一圈分糖果,老師順次分給每人一定數量糖果(初始值為偶數)然後按照下列規則調整,所有小朋友同時把自己的糖果分一半給右邊的人,糖果數變為奇數的人,向老師補要一塊糖果,問經過多少次調整後,大家糖果數一樣多,且每人多少塊。建立兩個函式,乙個負責傳遞糖果,乙個負責判斷所有人的糖果是否相等。
解答:
#include
using
namespace std;
static
int a[10]
;int
pass()
a[0]
= a[0]
/2+ temp /2;
for(
int i =
0; i <
10; i++)if
(a[i]%2
!=0) a[i]++;
}int
judge()
pass()
; n++
; sum =0;
}}intmain()
最佳**(程式設計師思維)
#include
using
namespace std;
intmain()
else
cout << a1 + a2 + a3 + a4 << endl;
}}
數學思維:規律: f(n) = f(n-1) + f(n-3) n>= 4
#include
using
namespace std;
intmain()
cout << num << endl;
} cin >> n;
}}
(字元重複置換的一種簡化方式)
題目:
密碼是我們生活中非常重要的東東,我們的那麼一點不能說的秘密就全靠它了。哇哈哈. 接下來淵子要在密碼之上再加一套密碼,雖然簡單但也安全。假設淵子原來乙個bbs上的密碼為zvbo9441987,為了方便記憶,他通過一種演算法把這個密碼變換成yuanzhi1987,這個密碼是他的名字和出生年份,怎麼忘都忘不了,而且可以明目張膽地放在顯眼的地方而不被別人知道真正的密碼。
他是這麼變換的,大家都知道手機上的字母: 1--1, abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0--0,就這麼簡單,淵子把密碼**現的小寫字母都變成對應的數字,數字和其他的符號都不做變換,
宣告:密碼中沒有空格,而密碼**現的大寫字母則變成小寫之後往後移一位,如:x,先變成小寫,再往後移一位,不就是y了嘛,簡單吧。記住,z往後移是a哦。
輸入包括多個測試資料。輸入是乙個明文,密碼長度不超過100個字元,輸入直到檔案結尾。輸出淵子真正的密文。
自己的**:`
#include
#include
using
namespace std;
intmain()
; cin.
getline
(ch,
100,
'\n');
for(i =
0; i <
100; i++)}
for(i =
0; i <
100; i++
) cout << str << endl;
}
可以看出,使用了很多的if else語句,但是對於單一的字元型別轉換為一種數字,可以簡化,為
int
main()
; cin.
getline
(ch,
100,
'\n');
for(i =
0; i <
100; i++
) cout << str << endl;
}
將if-else用兩個陣列的對應關係表示出來,簡便很多。
自己錯誤的**
#include
using
namespace std;
void
rank_c
(char
*p)}
}}intmain()
;for
(int i =
0; i <
5; i++
)rank_c
(p);
for(
int i =
0; i <
5; i++
)else
}}
發現:
只比較了第乙個字母的大小,沒有考慮到首字母相同時的情況
問題原因:
不熟悉int strcmp(const chars1,const chars2);函式
s1>0
s1=s2 => =0
s1<0
更改:包含標頭檔案cstring
/===/所夾一行改為
if
(strcmp
(name[j]
, name[j +1]
)>0)
cout<}//該**沒有使用除法,所以避免了很多問題
對於乙個 n個頂點的凸多邊形,它的任何三條對角線都不會交於一點。請求出圖形中對角線交點的個數。
思路:每四個頂點決定乙個交點,所以將頂點進行組合,組合數即為交點個數
示例:
#include
#include
using
namespace std;
intmain()
#include
using
namespace std;
intmain()
;int y, m;
bool run;
cin >> y >> m;
run =
((y %4==
0&& y %
100!=0)
|| y %
400==0)
?1:0
;if(run)
cout << a[m -1]
;}
int
min(
int a,
int b,
int c)
int
num(
int n,
int s)
if(n % s !=0)
}
給出n(1≤n≤13),請輸出乙個直角邊長度是 n 的數字直角三角形。所有數字都是 2 位組成的,如果沒有 2 位則加上前導 0。
#include
#include
"stdio.h"
using
namespace std;
intmain()
cout << endl;
n--;}
}
python練習題目
三色球問題 有紅 黃 藍三種顏色的求,其中紅球 3 個,黃球 3 個,綠球 6 個。先將這 12 個球混合放在乙個盒子中,從中任意摸出 8 個球,程式設計計算摸出球的各種顏色搭配。print red tyellow tblue for red inrange 0,4 for yellow in ra...
Hive練習題目
hive 基本操作 1 資料自己造 a表 id int,name string b表 id int,job id int,num int c表 job id int,job string 建表語句 載入資料 a表和b表進行鏈結操作,並觀察結果 內連線 左連線 left join 小表在前,大表在後 ...
練習題目2
1 將陣列a中的內容和陣列b中的內容進行交換 陣列一樣大 思路 新建乙個陣列作為中間陣列進行交換.如下 2 計算1 1 1 2 1 3 1 4 1 5 1 99 1 100的值.思路 通過每一輪迴圈給分子乘以 1來控制加數的正負號,計算出和.如下 3 編寫程式數一下1到199的所有整數 現過多少次數...