PAT乙級 題目十二

2021-10-02 18:03:56 字數 1053 閱讀 4723

題目:現以科學計數法的格式給出實數a,請編寫程式按普通數字表示法輸出a,並保證所有有效位都被保留

我的**:#include#include#include#includeusing namespace std;

int main()

for(int i = ppos+1;i < epos;i++)

zhinum = stoi(zhi);

if(s[0] == '-') cout<<'-';

if(s[epos+1] == '+'){

coutcout《評注:沒看清楚題目中整數字只有一位,處理整數字的時候弄複雜了。

#include #include #include #include using namespace std;

int main ()

{ string instr, substr1, substr2;

char flag; // 指數的符號

int pos; // 記錄'e'字元的位置

cin>>instr;

if('-' == instr[0])

cout<<"-"; // 小數符號位

pos = instr.find('e', 0);

substr1 = instr.substr(1,pos-1);

flag = instr[pos+1];

substr2 = instr.substr(pos+2,substr1.size()-2-pos);

int n = atoi(substr2.c_str());

substr1.erase(substr1.find('.'),1);

int len = substr1.size();

if('+' == flag ) {

if(n>=0 && n

收穫:學習了string的幾個函式:

(1)s.substr(from,to)—字串的截斷

(2)s.insert(pos,n,char)—從第pos個位置插入n個字元

(3)s.erase(pos,n)—從第pos個位置開始刪除連續n個字元

PAT乙級 題目七

大家應該都會玩 錘子剪刀布 的遊戲 現給出兩人的交鋒記錄,請統計雙方的勝 平 負次數,並且給出雙方分別出什麼手勢的勝算最大。我的 include includeusing namespace std 輸出 b c j 中贏得次數最多的那個 int output int num cout 評注 for...

PAT 乙級題目1001

卡拉茲 callatz 猜想 對任何乙個正整數 n,如果它是偶數,那麼把它砍掉一半 如果它是奇數,那麼把 3n 1 砍掉一半。這樣一直反覆砍下去,最後一定在某一步得到 n 1。卡拉茲在 1950 年的世界數學家大會上公布了這個猜想,傳說當時耶魯大學師生齊動員,拼命想證明這個貌似很傻很天真的命題,結果...

PAT乙級解題目錄

pat乙級解題目錄如下 目前仍然處於更新中的狀態,如果link已經設定了超連結可以點的話,就是那題已經ac並且寫了相應的解題部落格.1001 害死人不償命的 3n 1 猜想 link 1002 寫出這個數 link 1003 我要通過!link 1004 成績排名 link 1005 繼續 3n 1...