本文共 1197 字,大约阅读时间需要 3 分钟。
#include#include #include #include #include using namespace std;const int MAX_NUM=1000;void merge(long num[],int n);int main(){ string str; while(cin>>str) { int len=str.size(); long num[MAX_NUM]; int i=0,j,temp; for(j=0;j len-1) i--; } } merge(num,i+1); cout< num[j]) k=j; if(k!=i) { num[i]=num[k]; num[k]=temp; } }}
#include#include #include #include #include #include using namespace std; #define N 10010 char s[N]; int a[N]; int change(string s) { int len = s.length(); int sum = 0; for(int i = len - 1, j = 0; i >= 0; --i, ++j) sum += (int)(s[i] - '0') * pow(10.0, j); return sum; } int main() { int len, num; string ans; while(scanf("%s", s) != EOF) { len = strlen(s); num = 0; ans = ""; for(int i = 0; i < len; ++i) { if(s[i] != '5') { ans += s[i]; if(i == len - 1) //不是5结尾的 a[num++] = change(ans); } else if(s[i] == '5' && s[i - 1] != '5' && i != 0) //是5且不能一堆5且5不能为第一个 { a[num++] = change(ans); ans = ""; } } sort(a, a + num); for(int i = 0; i < num - 1; ++i) printf("%d ", a[i]); printf("%d\n", a[num - 1]); } return 0; }
转载地址:http://vnali.baihongyu.com/