您的位置:首页 > 其它

第三十三讲|三种循环

2015-07-13 16:09 274 查看
【项目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);
}


运行结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: