实验目的

  • 熟练掌握用 while 语句、do···while 语句和 for 语句实现循环的方法。
  • 掌握 break 语句和 continue 语句在循环结构的使用方法。
  • 掌握多重循环的程序设计方法。
  • 掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)
  • 进一步学习调试程序

1)要求输出 100-200 之间不能被 3 整除的数。(用两种方法来实现:第一种:不用continue 来实现,第二种,用 continue),如果将程序中的 continue 换成 break,判断程序结果怎么改变?

//第一种
#include <stdio.h>
int main()
{
for (int i=100;i<=200;i++)
{
    if (i%3==0)
    printf("%d\t",i);
}
}
//第二种
#include <stdio.h>
int main()
{
for (int i=100;i<=200;i++)
{
    if (i%3!=0)
    continue;
    printf("%d\t",i);
}
}
//用do while
#include<stdio.h>
int main()
{
int i=100;
do
{
if(i%3==0)
printf("%d\t",i);
i++; 
}
while(i<=200);
return 0;
}

2)编写程序,输入一个 5 以内的整数 n,求 n!

#include<stdio.h>
int main()
{
int n,m;
scanf("%d",&n);
m = n;
for (int i = 1;i<n;i++)
m = m*i;
printf("n! = %d\n",m);
}

(3)输出所有的水仙花数,所谓水仙花数,是指一个三位数,其各位数字的立方和等
于该数本身。例如:153=13+53+33

#include<stdio.h>
#include <math.h>
int main()
{
    int g,s,b;
    for(int i=100;i<1000;i++) 
    {
        g=i%10;
        s=i/10%10;
        b=i/100;  //提取个十百位数 
        if (i == pow(g,3)+pow(s,3)+pow(b,3)) 
        printf("%d\t",i);
    }
}