任务描述
本关任务:随机输入一批整数,有正整数,负整数和零,计算并且输出这批整数中 5 个正整数的和,当读入的数据为负数或 0 时,程序忽略此次输入,直到读入 5 个正整数时程序才停止。
相关知识
为了完成本关任务,你需要掌握contiunue 语句。
当读入的数据为负数或0时,并不希望终止整个循环的操作,而只希望提前结束本次循环,而接着执行下次循环,这时可以用 continue 语句。
continue 语句的作用是跳过循环本次中剩余的语句而强行执行下一次循环。continue 语句只能用在for、while、do-while 等语句的循环体中,常与 if 语句一起使用,用来加速循环。其执行过程可用下图表示。
continue语句执行过程示意图
编程要求
根据提示,在右侧编辑器补充代码。一定要输入 5 个正整数,如果在循环过程中用户输入了负数或 0,则要忽略此次输入,结束本次循环,直接进入下一次循环,直到输入的正整数达到5个,才能跳出循环。
测试说明
平台会对你编写的代码进行测试:
测试输入:5
10
15
-20
-32
45
-10
0
40
预期输出:sum=115
提示:
如果输入的是正整数,计算正整数的个数,累加。如果输入的是负整数或0时,执行continue,直接进入下一次循环,既不计数,也不累加,直到输入的正整数达到5个,跳出for循环。
#include <stdio.h>
int main()
{
int i=0, n, sum=0;
do
{
scanf("%d",&n);
if(n<=0)
{
continue;
}
else
{
i++;
sum+=n;
}
}
while(i!=5);
printf("sum=%d\n",sum);
return 0;
}