第三十三讲|三种循环

【项目1:利用循环求和】
求1000以内所有偶数的和

要求:请编出3个程序来,分别用三种循环语句完成,注意体会各种循环语句的执行过程及语法特点。

for循环

#include "stdio.h"
int main()
{
	int i,sum=0;
	for(i=0;i<=1000;i+=2)
	{
		sum=sum+i;
	}
	printf("%d\n",sum);

}


while循环

#include "stdio.h"
int main()
{
	int i=0,sum=0;
	while(i<=1000)
	{
		sum=sum+i;//两个语句顺序。
		i+=2;
	}
	printf("%d\n",sum);
}


do while循环

#include "stdio.h"
int main()
{
	int i=0,sum=0;
	do
	{
		sum+=i;
		i+=2;
	}
	while(i<=1000);
	printf("%d\n",sum);
}

运行结果



心得 for循环中三个表达式转换为while循环和do while循环各自表达式放的位置要注意。还有语句顺序要注意。


【项目2:求阶乘】
输入n,求 n! 并输出

#include "stdio.h"
int main()
{
	int i,j=1,n;
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
		j=i*j;//j的值一直被赋值更新。主要还是对for语句理解不透彻。
	}
	printf("%d",j);
}

运行结果


心得 对于for循环理解不够深入。本程序在输入的n过大时,会超出整型数据类型表达的范围,产生“溢出”


【项目3:输出这样的整数】
输出1000以内能被3整除且个位数为6的所有整数。

#include "stdio.h"
int main()
{
	int i,j;
	for(i=0;i<=100;i++)//j在1000之内,且j=i*10;那么i应该就是100
	{
		j=i*10+6;
		if(j%3==0)
			printf("%d\n",j);
	}
	printf("\n");
	return 0;
}
运行结果




心得  j在1000以内且j=i*10;那么i应该就是100。若不是给出程序样例,也可以写出如下程序。不过,上面的程序循环次数要少一些,是更好的解决方案。运用逻辑运算符&&

#include <stdio.h>  
int main( )  
{  
    int  i;  
    for (i=0;i<1000; i++)  
    {  
        if ((i%10==6)&&(i%3==0))  
            printf("%d ", i);  
    }  
    printf("\n");  
    return 0;  
}  


【项目4:多数中的最大】
编程序,输入10个整数,找出最大数。
请在下面代码的基础上完成程序:

#include "stdio.h"
int main()
{
	int k,x,max;
	scanf("%d",&x);
	max=x;
	for(k=2;k<=10;k++)
	{
		scanf("%d",&x);
		if(x>max)
			max=x;
	}
	printf("Max=%d\n",max);
}

运行结果




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值