我的条件是i<100为什么是这样
虽然答案是正确的但是过程没有对,哪里出问题了呢?
虽然答案是正确的但是过程没有对,哪里出问题了呢?
2020-11-25
#include <stdio.h> int main() { int i = 1, sum = 0; while ( i<=100 ) { if (i % 2 == 0) //我看你的if条件是求100以内2的倍数的所有数之和,所以你程序里面表述有问题 { sum = sum + i ; //求和公式最好放外面,看着清爽 printf("%d是2的倍数,目前和为%d\n", i,sum); //你要输出的变量都给你考虑到了 } else { goto step; //见注释1 } step:i++; } printf("100以内数的和为:%d\n", sum); return 0; } /* 注释1: else是用来剔除非2倍数的数,不能简单的用相反的公式套上去, 你如果是要求奇数和的话应该另外设定变量, 因为你使用的是if-else语句,本着不改动你程序基本思想的情况下给你加入了另外的跳出语句goto */
举报