第三十三课 三种循环语句
项目一 【利用循环求和】
求1000以内所有偶数的和
要求:请编出3个程序来,分别用三种循环语句完成,注意体会各种循环语句的执行过程及语法特点。
1.【for】
代码:
#include <stdio.h>
int main()
{
int i,total=0;
for (i=2;i<=1000;i+=2)
{
total+=i;
}
printf("%d",total);
return 0;
}
2.【while】
代码:
#include <stdio.h>
int main()
{
int i=0,total=0;
while(i<=1000)
{
total+=i;
i+=2;
}
printf("%d",total);
return 0;
}
3.【do while】
代码:
#include <stdio.h>
int main()
{
int i=0,total=0;
do
{
i+=2;
total+=i;
}
while (i<1000);
printf("%d",total);
return 0;
}
运行结果:
项目二 【求阶乘】
输入n,求 n! 并输出
1.【for】
代码:
#include <stdio.h>
int main()
{
int i,n,total=1;
printf ("请输入n:");
scanf("%d",&n);
for (i=1;i<=n;++i)
total*=i;
printf("%d!=%d\n",n,total);
return 0;
}
2.【while】
代码:
#include <stdio.h>
int main()
{
int i,n,total=1;
printf ("请输入n:");
scanf("%d",&n);
while(i<=n)
{
total*=i;
i++;
}
printf("%d!=%d\n",n,total);
return 0;
}
3.【do while】
代码:
#include <stdio.h>
int main()
{
int i,n,total=1;
printf ("请输入n:");
scanf("%d",&n);
do
{
total*=i;
i++;
}while(i<=n);
printf("%d!=%d\n",n,total);
return 0;
}
运行结果:
项目三 【输出这样的整数】
输出1000以内能被3整除且个位数为6的所有整数。
请在下面代码的基础上完成程序:
代码:
#include <stdio.h>
int main( )
{
int i, j;
for (i=0;i<=100;i++)
{
j=i*10+6;
if (j%3==0)
printf("%d.",j);
}
printf("\n");
return 0;
}
运行结果:
项目四 【多数中的最大】
编程序,输入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);
return 0;
}
运行结果:
知识点与心得:
三种循环语句各有各的特点,但也与相通之处,在某些情况适当转换,灵活运用才是最好的。之间也可以嵌套其他的语句达到不一样的效果,比如switch,scanf等,创造性很高。
22