📅  最后修改于: 2023-12-03 15:00:12.324000             🧑  作者: Mango
本篇文章将为大家介绍C语言中的控制语句测试样例3,包括while循环、if语句、break语句以及continue语句的应用。
以下是一段用于求1~100之间的所有质数的代码:
#include <stdio.h>
int main()
{
int i, j, flag;
for (i = 2; i <= 100; i++)
{
flag = 1;
for (j = 2; j <= i / 2; j++)
{
if (i % j == 0)
{
flag = 0;
break;
}
}
if (flag == 1)
{
printf("%d ", i);
}
}
return 0;
}
我们可以看到,程序中采用了for语句来循环1~100,判断每个数是否为质数。在判断一个数是否为质数的过程中,使用了一个嵌套的for语句,遍历该数的所有可能因子。如果找到该数的因子,就将flag标记为0,表示该数不是质数。最后,再用if语句判断flag的值,如果仍然为1,就说明该数是质数,输出该数。
接下来,我们将分别介绍使用while循环、if语句、break语句以及continue语句来实现上述功能的方法。
如果不想使用for循环,我们也可以使用while循环来实现上述功能。代码如下:
#include <stdio.h>
int main()
{
int i = 2, j, flag;
while (i <= 100)
{
flag = 1;
j = 2;
while (j <= i / 2)
{
if (i % j == 0)
{
flag = 0;
break;
}
j++;
}
if (flag == 1)
{
printf("%d ", i);
}
i++;
}
return 0;
}
在while循环中,我们使用了相同的变量i、j和flag,但是将原来的for循环改为了while循环。具体来说,在外层while循环中对i进行了循环,而在内层while循环中对j进行了循环。其余部分与for循环的实现相同。
在判断一个数是否为质数的过程中,我们使用了if语句来判断flag的值。而如果不想使用嵌套的for循环,我们也可以使用if语句来判断一个数是否为质数。代码如下:
#include <stdio.h>
int main()
{
int i, j, flag;
for (i = 2; i <= 100; i++)
{
flag = 1;
for (j = 2; j < i; j++)
{
if (i % j == 0)
{
flag = 0;
break;
}
}
if (flag)
{
printf("%d ", i);
}
}
return 0;
}
在if语句中,我们将判断语句改为了if(flag),表示只有当flag为真是才执行输出语句。其余部分与for循环的实现相同。
在原来的程序中,我们使用了嵌套的for循环来判断一个数是否为质数。在找到一个因子之后,为了减少无用的判断,我们使用了break语句来跳出内层for循环。代码如下:
#include <stdio.h>
int main()
{
int i, j, flag;
for (i = 2; i <= 100; i++)
{
flag = 1;
for (j = 2; j <= i / 2; j++)
{
if (i % j == 0)
{
flag = 0;
break;
}
}
if (flag)
{
printf("%d ", i);
}
}
return 0;
}
在内层for循环中,当找到一个因子时,使用break语句跳出循环;而在外层for循环中,当flag为真时,执行输出语句。其余部分与使用if语句实现的程序相同。
在原来的程序中,我们使用了嵌套的for循环来判断一个数是否为质数。如果我们想在找到不是质数的数之后直接进入下一次循环,可以使用continue语句。代码如下:
#include <stdio.h>
int main()
{
int i, j, flag;
for (i = 2; i <= 100; i++)
{
flag = 1;
for (j = 2; j <= i / 2; j++)
{
if (i % j == 0)
{
flag = 0;
continue;
}
}
if (flag)
{
printf("%d ", i);
}
}
return 0;
}
在内层for循环中,当找到一个不是质数的数时,使用continue语句跳过后续的判断,直接进入下一次循环;而在外层for循环中,当flag为真时,执行输出语句。其余部分与使用break语句实现的程序相同。
通过本文的介绍,我们了解了如何使用while循环、if语句、break语句以及continue语句来实现一个求1~100之间所有质数的程序,并逐步比较了它们之间的异同点。在实践中,我们可以根据需要选择不同的方法来编写程序,以达到最佳的效果。