暴力 if 分解。
对于这道题的数据范围((1≤n≤10^5 )),可以对每个测试用五个 if 来解决分解问题,用数组存储答案然后输出。
#include <iostream>
using namespace std;
int main(){
int t;
cin>>t;
for(int i=1;i<=t;i++){
int n,a[4]={0},c=0,d=0;
cin>>n;
if(n>1000){
a[0]=n-(n%1000);
n%=1000;
c++;
}if(n>100){
a[1]=n-(n%100);
n%=100;
c++;
}if(n>10){
a[2]=n-(n%10);
n%=10;
c++;
}if(n>=1){
a[3]=n;
c++;
}
cout<<c<<endl;
while(d!=4){
if(a[d]!=0)
cout<<a[d]<<' ';
d++;
}
}
}