输入n个数,将符合以下至少两个条件的数进行输出、计数并求和。 1.是一个三位数 2.个位+十位刚好等于5 3.能够被3整除,具体如下,求解。

img

供参考:

#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;
}