PAT 乙级 1019
printf 不能输出字符串 strings 一直作为循环条件。此题需要注意s 有可能一开始就是 6174仍然需要去循环。所以要用 do while 来判断 s 是否等于 6174cmp 里面的 char 可以直接进行比较可以直接返回。#includebits/stdc.h using namespace std; bool cmp(char a, char b) {return a b;} int main() { string s; cin s; if(s.size() 4) s.insert(0, 4 - s.size(), 0); do { string s1 s, s2 s; sort(s1.begin(), s1.end(), cmp); sort(s2.begin(), s2.end()); if(s1 s2) { cout s1 - s2 0000 endl; break; } else { int num stoi(s1) - stoi(s2); s to_string(num); if(s.size() 4) s.insert(0, 4 - s.size(), 0); cout s1 - s2 s endl; } } while(s ! 6174); return 0; }
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2416137.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!