#include<bits/stdc++.h>
using namespace std;
int s[10005];
int q[10005];
int main(){
int n,a;
cin>>n;
for(int i=0;i<n;i++){
scanf("%d",&a);
while(a>0){
s[i] += (a % 10);
a=a/10;
}
}
//cout<<s[0]<<endl;
//s数组里面的数都存好了,小心两个数字之间还留有一个空格,可能对输入有影响
int c = 1;
q[0] = s[0];//对于第一个位置已赋值则先加再放(++c)
//cout<<q[0]<<endl;
for(int i=0;i<n;i++)
{
int flag = 0;
for(int j=0;j<n;j++)
{
if(s[i]==q[j])
{
flag = 1;
}
}
if(flag==0)
{
q[c++] = s[i];
}
}
//cout<<q[0]<<endl;
sort(q,q+c);
cout<<c<<endl;
for(int i=0;i<c;i++)
{
if(i==c-1)
cout<<q[i]<<endl;
else
cout<<q[i]<<" ";
}
return 0;
}
//待解决的两个问题 1.怎么解决记录过的数不再记录 2.如何解决输出过的数不再让他输出。
//1.使用flag来区分已经出现的数字2.建立两个数组来进行操作。
PTA 1064 朋友数 题解
最新推荐文章于 2021-09-05 17:14:02 发布