刚学完第一阶段
第一阶段阶段考核完全不懂,没有解题思路,有没有大神讲解一下 题发上来 0. 请编写程序,计算出 1000 以内(不包含 1000)的自然数中,属于 3 或 5 的倍数的数字之和。10 以下的自然数中,属于 3 或 5 的倍数有 3, 5, 6, 9,它们的和是 23。 只学了这几种语句
if语句
switch语句和分支嵌套
while语句和do...while语句
for语句和循环嵌套
break语句和continue语句 15626723954 发表于 2020-5-10 17:58
只学了这几种语句
if语句
switch语句和分支嵌套
for 循环从 1 到 1000 枚举(这个你应该会的)
设一个变量叫 sum(初始值为 0,表示数字之和)
然后如果
if x % 3 == 0 || x % 5 == 0:
sum 就 加 x #include<stdio.h>
int main()
{
int i,sum=0;
for (i=0;i<1000;i++)
if (i%3==0||i%5==0)
sum+=i;
printf("sum=%d\n",sum);
return 0;
} liuzhengyuan 发表于 2020-5-10 20:08
for 循环从 1 到 1000 枚举(这个你应该会的)
设一个变量叫 sum(初始值为 0,表示数字之和)
然后如 ...
能不能讲解你后面发的那一行代码 sunrise085 发表于 2020-5-10 20:50
能不能说一下if语句后面代码的意思 15626723954 发表于 2020-5-11 17:17
能不能说一下if语句后面代码的意思
你基础学的不够扎实。需要好好学一下运算符~~
%是求余 ||是逻辑或
if (i%3==0||i%5==0)条件是:i能整除3或者i能整除5 sunrise085 发表于 2020-5-11 17:23
你基础学的不够扎实。需要好好学一下运算符~~
%是求余 ||是逻辑或
if (i%3==0||i%5==0)条件是:i ...
这条if语句里面的i是不是1000 15626723954 发表于 2020-5-11 17:35
这条if语句里面的i是不是1000
i是1000的时候就退出循环了。。。。
你不知道for循环?
for循环,第一次i=0,之后每次i++,当i为1000的时候已经不符合条件了就退出循环了。
所以if中的i不可能是1000
提问题,请一次讲清楚。。。。 sunrise085 发表于 2020-5-11 17:40
i是1000的时候就退出循环了。。。。
你不知道for循环?
for循环,第一次i=0,之后每次i++,当i为1000 ...
我是要知道数套在里面怎么算出来的 本帖最后由 sunrise085 于 2020-5-11 17:51 编辑
15626723954 发表于 2020-5-11 17:43
我是要知道数套在里面怎么算出来的
没明白你问的是什么意思
#include<stdio.h>
int main()
{
int i,sum=0;
for (i=0;i<1000;i++)//for循环,i初始值为0,循环结束条件是i>=1000,每次循环i++
if (i%3==0||i%5==0)//if语句条件,若i是3的倍数或5的倍数,执行下面if语句块
sum+=i; //if语句块,sum=sum+i,若i满足以上条件,就进行加和
printf("sum=%d\n",sum);//输出循环求和的结果
return 0;
}
第一次循环,i=0,0是3 的倍数,if条件满足,执行sum+=i,sum=0+0=0
第二次循环,i=1,1既不是3的倍数,也不是5的倍数,if条件不满足,不执行sum+=i
第三次循环,i=2,2既不是3的倍数,也不是5的倍数,if条件不满足,不执行sum+=i
第四次循环,i=3,3是3 的倍数,if条件满足,执行sum+=i,sum=0+3=3
第五次循环,i=4,4既不是3的倍数,也不是5的倍数,if条件不满足,不执行sum+=i
第六次循环,i=5,5是5的倍数,if条件满足,执行sum+=i,sum=3+5=8
…… 本帖最后由 15626723954 于 2020-5-11 18:12 编辑
sunrise085 发表于 2020-5-11 17:47
没明白你问的是什么意思
第一次循环,i=0,0是3 的倍数,if条件满足,执行sum+=i,sum=0+0=0
本帖最后由 sunrise085 于 2020-5-14 10:51 编辑
@ba21 版主,帮忙评个最佳,题主解决问题后就不见了。。版主帮个忙
页:
[1]