continue只能用在循环中吗_如何用传说中的七步法,解决循环问题

用while语句循环做数学运算

求2+4+6+…+100

首先介绍一下,传说中的七步法,七步齐上,定能赢得while大题

(1)写出固定格式

(2)定义三个变量

n=1,sum=0或者chengji=1,a=第一项的值

(3)加入while语句

(4)找出相加或相乘的共多少项,然后。在while后的括号里,写上n<=项数

(5)括号内写上

n=n+1;

sum=sum+a或者chengji=chengji*a

(6)列出第n项和第(n-1)项的关系式,并把这关系用a的形式表现出来

(如:第n项=诶(n-1)项*n 则写成 a=a*n,并且把a的式子写进括号内)

(7)将要求的内容输出,检查循环的开头与结尾(printf不写在大括号之内)

0028fedd85a74c67e10b582a1ee6fb05.png

所以,这道题要怎么处理,首先,我们应该要知道,第n项=,第(n-1)项+2,也就是说可以写成,a=a+2

开始写一写

#include

int main()

{

int n=1,sum=0,a=2;

while(n<=50)

n=n+1;

sum=sum+a;

a=a+2;

printf("计算结果是%d\n",sum);

return 0;

}

注意哦(´-ω-`)while后面没有分号,写完后记得自己把数放进程序检查一下。

491a6a7c4de1f242fd5c6195dc14021a.png

求2*4*6*8…*100??怎么求,自己先套七步法算一下哦~

d28b688532a156b923f61255ee205998.png

求1!+2!+3!+…+20!

怎么写,这道题的难度,怎么样把,这个20!跟他的前一项的关系找出来

其实可以明白3!=3*2*1,5!=5*4*3*2*1

所以第n是20!,第n-1是19!

也就是说 第n项=第n-1项*n这个数本身。

所以我们可以写成,a=a*n

一起来写一下这道题吧~

int n=1,sum=0,a=1;

while(n<=20)

{

n=n+1;

sum=sum+a;

a=a*n;

}

printf("计算结果是%d\n",sum);

用while语句循环

某社团招新,同学们一个接一个进行面试才能被选上,但是本次面试官只肯用300分钟来进行面试,请编写程序统计,300分钟后,共面试了多少人!??

float zongshijian=0,shijian;

int n=0;

while(zongshijian<300)

{

printf("还麻烦您记录一下第%d个同学的时间,单位为分钟,谢谢!",n+1)

scanf("%f",&shijian);

zongshijian=zongshijian+shijian;

n=n+1;

}

printf("所以,总共面试了%d人\n",n);

这里的限制条件,是小于300还是小于等于300,可以把300代进去,我们现,当刚好300了,面试官其实并不想再面试一个了,所以只能到此结束了。

提示:如果要加个条件,今天只愿意面试100人,那么其实是可以在while{}中加入一个:

if(n>=100)

break;

请编程输出100-300之间(包括100-300)的数。

int n=99;

while(n<=300)

{

n=n+1;

printf("%d\t",n);

}

这样的题,如果出改错。一定记得代几个数进去看一下。

用continue语句提前结束本次循环

请编程输出100-300之间(包括100-300)不能被4整除的数。

int n=99;

while(n<=300)

{

n=n+1;

if(n%4==0)

    continue;

printf("%d\t",n);

}

用do…while语句循环

大家先对比一下,就知道区别在哪了,其实这个就是while循环的改编版。

比如还是求2+4+6+…+100

int n=1,sum=0,a=2;

while(n<=50)

n=n+1;

sum=sum+a;

a=a+2;

printf("计算结果是%d\n",sum);

然后用do while是这样

do

{

n=n+1;

sum=sum+a;

a=a+2;

}

while(n<=50)

printf("计算结果是%d\n",sum);

for语句循环

用for语句循环,最常用

for(语句1;语句2;语句3)

{

咋样

}

我们来对比一下,while循环

语句1

while(语句2)

{

咋样

语句3

}

来来来,再来做一下这道题1!+2!+3!+…+20!

for(sum=0,a=1,n=1;n<=20;n=n+1)

{

a=n*a;

sum=sum+a;

}

printf("计算结果是%d\n",sum);

注意哦,一般情况下,for那个括号里的内容可以不写,但是分号必须留下~

如果在程序中看到n++,不用怕,因为那个就是n=n+1,同样n--就是n=n-1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值