这是我已经制作的节目:
#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);
}
}
如何打印3
和5
的乘数,但不打印乘数15
?
答案 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)
如何打印乘数
3
和5
,但不打印乘数15
?
那么你能从中得知,用15
分割时打印的数字必须不会产生0
的余数,因为那时它是{{1}的乘数所以只需将你的printf语句放在if循环中:
15
请参阅此示例:add_action