分支和循环(3)


前言

上一篇我学到for循环语句的使用,还有for循环语句的两种变种,补充注意的一点是for循环语句不可以随便省略初始化部分。

这种没有省略任何一部分的情况输出的结果是100个ok,但省略j=0就会改变运行结果,输出10个ok。

一、do   while()循环语句

do

         循环语句;

while(表达式);

1.do  while()循环语句示例

1.1.含有break语句

1.2.含有continue语句

 

 由此可以看出,do while()循环语句和while循环语句用法基本一样。

二、练习应用

1.计算n的阶乘

for循环语句

#include <stdio.h>
int main()
{
	int i, n;
	int ret = 1;
	scanf("%d", &n);//注意n的值不能太大
	for (i = 1; i <= n; i++)
	{
		ret = ret * i;
	}
	printf("%d", ret);
	return 0;
}

while循环语句

#include <stdio.h>
int main()
{

	int i = 1, n;
	int s = 1;
	scanf("%d", &n);
	while (i <= n)
	{
		s = i * s;
		i++;
	}
	printf("%d", s);
	return 0;
}

 


2.计算1!+2!+···+10!的值

#include <stdio.h>

int main()
{
	int i, n, ret;
	int sum = 0;
	for (n = 1; n <= 10; n++)
	{
		ret = 1;//
		for (i = 1; i <= n; i++)
		{
			ret = ret * i;
		}
		sum = sum + ret;
	}
    //ret1=1*1         sum1=sum+ret1=1
	//ret2=ret1*2=2    sum2=sum1+ret2=3
	//ret3=ret2*3=6    sum3=sum2+ret3=9
	printf("%d", sum);
	return 0;
}

 下面这种方法就是直接用一个数的阶乘加上后面数的阶乘

#include <stdio.h>
int main()
{
	int n, ret = 1;
	int sum = 0;
	for (n = 1; n <= 10; n++)
	{
		ret = ret * n;//n的阶乘
		sum = sum + ret;
	}
    //ret1=ret*1=1       sum1=sum+ret1=1
	//ret2=ret1*2=2      sum2=sum1+ret2=3
	//ret3=ret2*3=6      sum3=sum2+ret3=9
	printf("%d", sum);
	return 0;
}

 

 

总结

do while循环语句和while循环语句用法差不多,两道练习题中第一道练习题的while循环语句的写法是我自己先做出来的,for循环语句的是老师讲的,第二题的话,只考虑用for循环语句会更简单,在循环的时候,要把那个过程搞清楚,嵌套的过程就是也要知道,自己最好要把过程写一遍,因为我发现我自己的脑子好像转不过来。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值