求出1到200之内能被7或11整除但不能同时被7和11整除的所有整数放在数组a中,并通过n返回这些数的个数。要求采用指针实现。要怎么改才能将符合的数和符合答案的个数一起输出出来?


#include <iostream>   
using namespace std;
int a[200], n;
void main()
{
    int i, c;
    for (i = 1, n = 0;i < 200;i++, n++)
    {
        if (i % 7 == 0 || i % 11 == 0)
            if (i % 77 != 0)
                a[n] = i;
    }
    int* p;
    int b = 0;
    p = a;
    for (c = 0;c < 200;c++)
    {
        if (*p != 0)
            b++;
        p++;
    }
    cout << "一共有" << b << endl;
}

img

最简单的,直接两遍for循环,不用循环几次就出来了
int a[200] = { 0 }, n = 0;
for(int i = 1; i * 7 < 200; i++)
{
if (0 == (i * 7 % 11))
{
continue;
}
a[n++] = i * 7;
}
for(int i = 1; i * 11 < 200; i++)
{
if (0 == (i * 11 % 7))
{
continue;
}
a[n++] = i * 11;
}

走一遍7的倍数,走一遍11的倍数