如何打印乘法器3和5,但不打印乘法器15?

时间:2016-10-11 16:21:06

标签: c multiplication

这是我已经制作的节目:

#include <stdio.h>

int main()
{

    int i,n,t,t2;

    printf("enter limit number: ");
    scanf("%d", &n);

    for (i = 1; i<=n; i++)
    {
        t = i * 3;
        t2 = i * 5;

        printf("%d, " ,t);
        printf("%d, ",t2);
    }
}

如何打印35的乘数,但不打印乘数15

2 个答案:

答案 0 :(得分:1)

您可以使用模数运算符检查整数是否可以被另一个整除。如果结果(余数)为零,那么它可以被整除。

您的代码实际上并未停止在极限位置,它会按顺序打印数字,它会打印一个尾随逗号,并且它不会打印终止换行符。修正:

int matches = 0;
for (i=1; i<=n; ++i) {
    if ((i % 3) == 0 || (i % 5) == 0) {
        if ((i % 15) != 0) {
            if (matches++) {
                printf(", ");
            }

            printf("%d", t);
        }
    }
}

if (matches)
    printf("\n");

答案 1 :(得分:-1)

  

如何打印乘数35,但不打印乘数15

那么你能从中得知,用15分割时打印的数字必须不会产生0的余数,因为那时它是{{1}的乘数所以只需将你的printf语句放在if循环中:

15

请参阅此示例:add_action