最近在準備段考,題目會寫簡單一點的
然後社團很缺經驗豐富的大佬,如果您願意加入並指導我們,以後會花社團經費(學校提供)來請您授課
最後,在這個社團里保證不用花任何錢(學校會資助)
點我進群組
只是普通的條件,有幾點要注意
- 第一個數字是負數要將負號與數字貼在一起不可分開或不輸出
- -1是開頭的也要關照一下
- 整串數字只有一個0也要注意
也可以用cin.eof()
來判斷要不要結束
#include <iostream>
#include <cmath>
#include <vector>
#include <string>
#include <map>
#include <queue>
using namespace std;
/*
題目:Polynomial Showdown
題目連結:https://cpe.cse.nsysu.edu.tw/cpe/file/attendance/problemPdf/392.pdf
解題者:神里綾華的狗
*/
//會重複,故使用含式
void printx(int x, int i)
{
if (i == 0)
{
cout << x;
}
else if (x == 1)
{
cout << "x";
}
else
{
cout << x << "x";
}
if (i > 1)
{
cout << "^" << i;
}
}
int main(int argc, char const *argv[])
{
while (true)
{
int x;
int flag = 0;
//數字
queue<int> q;
//位數
queue<int> count;
for (int i = 1; i < 10; i++)
{
if (cin >> x)
{
if (x != 0)
{
q.push(x);
count.push(9 - i);
}
}
//efo 結束
else
{
return 0;
}
}
//以防輸入只有一個0
if (q.size() == 0)
{
cout << 0 << endl;
continue;
}
//第一位是負數
if (q.front() < 0)
cout << "-";
//印出第一位
printx(abs(q.front()), count.front());
q.pop();
count.pop();
//從第二位開始印
while (!q.empty())
{
if (q.front() > 0)
{
cout << " + ";
printx(q.front(), count.front());
}
else if (q.front() < 0)
{
cout << " - ";
printx(abs(q.front()), count.front());
}
q.pop();
count.pop();
}
cout << endl;
}
return 0;
}
關於我們:
我們是一個充滿熱情、致力於提升程式設計和參與資料競賽水平的群組。無論你是新手還是大師,只要對打程式、參與資料競賽充滿熱情,我們都歡迎你的加入!
我們的目標:
我們的目標是一同努力,提升在資料競賽領域的技能。我們將一起參加各種比賽,包括但不限於ICPC,挑戰自我極限,並分享學習經驗。
為什麼加入我們?
誰適合加入?