帶逗號的字串數列轉陣列(包含負數的處理)手擼
阿新 • • 發佈:2019-01-11
#include<bits/stdc++.h> using namespace std; const int maxn=1005; char a[maxn]; int lin[maxn]; int Pow(int j){ int x=1; for(int i=0;i<j;i++)x*=10; return x; } int handle(char temp[],int a[]){ int cnt=0; for(int i=strlen(temp)-1;i>=0;){ if(temp[i]==','){i--;continue;} int sum=0,pos=0; bool mark=false; while(temp[i]!=',' && i>=0){ if(temp[i]=='-'){ mark=true; i--; break; } else{ sum+=((temp[i]-'0')*Pow(pos)); pos++;i--; } } if(mark==true)a[cnt++]=-sum; else a[cnt++]=sum; } return cnt; } int main(){ while(gets(a)){ int len=handle(a,lin); sort(lin,lin+len); for(int i=0;i<len;i++)cout<<lin[i]<<" "; cout<<endl; } return 0; }