示例输入:
4
输出:
0 2 4 6
为什么这不能正常工作?
int main()
{
int i, n, sum = 0;
scanf("%d", &n);
for(i = 1; i <= n; i++)
{
if ( i % 2 == 0)
sum += i;
printf("%d ", sum);
}
return 0;
}
答案 0 :(得分:0)
int i,j, count = 0, n, sum = 0;
scanf("%d", &n);
for (j = 0;; j++) {
if (j % 2 == 0) {
printf("%d", j);
count++;
if (count == n) {
break;
}
}
}
答案 1 :(得分:0)
执行引用代码时得到的答案不会是0,2,4,6,因为当i的值是2的倍数时,您已将i的值添加到每个实例的前一个sum值。 所以根据您的代码流程
要获得您想要的输出,您应该将2添加到之前的sum值而不是添加i。 即
int main()
{
int i, n, sum = 0;
scanf("%d", &n);
for(i = 0; i <= n; i++)
{
if ( i % 2 == 0){
printf("%d ", sum);
sum += 2;
}
}
return 0;
}
答案 2 :(得分:0)
您似乎希望打印出最大为用户提供值的偶数值。这样做:
#include <stdio.h>
int main(void)
{
int n;
scanf("%d", &n);
for(int i = 2; i <= n; i++)
{
if (i % 2 == 0)
{
printf("%d ", i);
}
}
return 0;
}