C语言while,do-while,for循环结构,水仙花数的计算

介绍用while,do-while,for语句实现循环的方法;如何设定循环条件,以及如何控制循环的次数与循环有关的算法

一、有关while,do-while,for语句的语法格式

while循环

while(condition)	//循环条件
{
	statement(s);//循环体
}

do-while循环

do{
	statement(s);	//循环体
}
while(condition);	//循环条件

for循环

for(init;condition;increment)
//init初始化参数,condition参数循环条件,increment改变参数,退出循环
{
	statement(s);	//循环体
}

二、利用循环实现相关数学问题

1. 编程求 1!+2!+3!+……+10! 的值。

程序结构如下:

  #include "stdio.h"
  void main( )
  { 
  	定义变量i作为循环控制变量;
    定义变量p和sum分别存放各个整数的阶乘和阶乘之和;
    变量p和sum赋初值;
    for( i=1; i<=10; i++ )
    { 变量p连乘 ;
      变量sum累加; }
      输出sum的值 ;
  }

程序具体实现:

#include "stdio.h"
void main() {
	int i,p=1,sum=0;
	for (i=1;i<=10;i++) {
		p=p*i;
		sum=sum+p;
	}
	printf("1!+2!+3!+……+10! = %d ",sum);
}

运行结果:
在这里插入图片描述

2. 编程计算1到100之间的奇数之和及偶数之和,并输出
#include "stdio.h"
  void main( ) {
	int a,b,c,i;
	a = 0;
	c = 1;
	/*变量初始化*/
	for (i=0; i<=100; i+=2) {
		a+=i;
		/*变量a存放偶数的和*/
		b=i-1;
		c+=b;
		/*变量c存放奇数的和*/
	}
	printf("1到100之间的奇数之和 = %d\n",a);
	printf("1到100之间的奇数之和 = %d\n",c);
}

运行截图:
在这里插入图片描述

3. 编程打印出所有的“水仙花数”,所谓水仙花数是指一个3位数,其各位数字的立方和等于该数本身。如153=13+53+33。

程序设计思路:定义一个变量作为循环变量,再定义3个变量分别存放三位数的每位数字,在循环体中将一个三位数拆分成个十百位后判断循环变量的值是否为水仙花数,如果是则输出,否则不输出

/*    打印出所有的“水仙花数”  */
#include "stdio.h"
 void main( ) {
	int a,b,c,j;
	for ( j=100; j<=999; j++ ) {
		a=j/100;
		/*分离出百位数*/
		b=j/10-a*10;
		/*分离出十位数*/
		c=j%10;
		/*分离出个位数*/
		if(j==a*a*a+b*b*b+c*c*c)
		        printf("%d\t",j);
		/*输出水仙花数j*/
	}
	printf("\n");
}

运行截图:
在这里插入图片描述

三、关于while,do-while,for循环的注意

  1. while,do-while,for语句中应有使循环趋向于结束的语句,否则就可能构成死循环。
  2. while,do-while循环效果差不多,但是前者是先进行判断再执行循环体,可能一次都不执行;后者是先执行一次循环体,再判断是否退出循环。
  3. 注意在循环结构程序设计中,可以多次使用循环语句构成复合语句,最常用的就是使用多重for循环。
  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值