供参考:
#include <stdio.h>
#define N 1000
int fun(int n)
{
int flg = n, k = 0;
while (flg) //求出位数
{
k++;
flg /= 10;
}
if (k == 3) flg++; //位数为3位数
if (n % 10 + n / 10 % 10 == 5) flg++; //个位+十位刚好等于5
if (n % 3 == 0) flg++; //能够被3整除
return flg;
}
int main()
{
int n, tmp, a[N] = {0}, i = 0;
scanf("%d", &n);
while (n--)
{
scanf("%d", &tmp);
if (fun(tmp) >= 2) a[i++] = tmp;//至少两个条件的数
}
if (i == 0)
printf("no");
else {
for (n = 0, tmp = 0; n < i; n++) {
printf(n == 0 ? "%d" : " %d", a[n]);
tmp += a[n];
}
printf("\n%d %d", i, tmp);
}
return 0;
}