Link:
一套非常简单的题目,但很多细节都是错了一次才能发现啊……
还是不能养成OJ依赖症,交之前先多想想corner case!!!
A:
模拟,要特判0啊
#include <bits/stdc++.h> using namespace std; #define X first #define Y second typedef long long ll; typedef double db; typedef pair<int,int> P; int n; void solve(int x) { if(x<5) printf("O-|"); else printf("-O|"); if(x>=5) x-=5; for(int i=1;i<=x;i++) printf("O"); printf("-"); for(int i=1;i<=4-x;i++) printf("O"); puts(""); } int main() { scanf("%d",&n); if(!n) solve(0);//特判0! while(n) solve(n%10),n/=10; return 0; }