1010 一元多項式求導 (25)(25 分)小心坑點!!
阿新 • • 發佈:2018-11-10
題目我就不放了,相信大家都知道了。這道題有幾個隱藏的坑的點。
1、輸入問題,該題的輸入並非是按回車後資料輸入完畢也不是給定資料長度,而是輸入到檔案末尾。有種解決方式是用while(!=EOF)。EOF代表的是檔案結束符。那麼我們寫這道題還要從檔案進行輸入嗎?其實不用的,我們在本地上寫完程式碼自己測試時,如果是Linux系統,按ctrl+D,windows系統下先按一個回車,在按ctrl+z,最後在按一個回車就好了。
2、輸出的格式,相信已經不陌生了,這裡就不再多說。
3、這個坑了我好久啊,具體是“導數多項式非零項的係數和指數”,也就是說,如果輸入項的指數是0,那麼該項不輸出,直接pass;如果輸入的是 0 0 ,那麼直接輸出0 0 .
被坑了好幾次後終於通過的程式碼。由於個人正在學結構體,所以用結構體解了這道題。
#include <bits/stdc++.h> #include <cstdio> #include <stdlib.h> using namespace std; const int maxn = 1e5+10; struct node { int xishu; int exp; } nn[maxn]; int main() { char ch[maxn]; int n,m,cnt = 0; while(scanf("%d%d",&n,&m)!=EOF) { nn[cnt].xishu = n; nn[cnt].exp = m; cnt++; } if(cnt == 1 && nn[0].exp==0 ) { cout<<"0 0"<<endl; return 0; } cout<<nn[0].exp*nn[0].xishu<<" "<<nn[0].exp-1; for(int i=1; i<cnt; i++) { if(nn[i].exp!=0) { cout<<" "<<nn[i].exp*nn[i].xishu<<" "<<nn[i].exp-1; } } return 0; }