用while循环编写一个C语言程序,输出五十到一百之间所有的质数
时间: 2023-05-12 15:07:01 浏览: 78
以下是用while循环编写的C语言程序,输出五十到一百之间所有的质数:
```c
#include <stdio.h>
int main() {
int i, j, flag;
i = 50;
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;
}
```
输出结果为:53 59 61 67 71 73 79 83 89 97
相关问题
c语言用while语句编写程序输出50到100所有的素数
以下是用 C 语言编写的程序,使用 while 循环输出 50 到 100 之间的所有素数:
```c
#include <stdio.h>
int main() {
int i, j, is_prime;
i = 50;
while (i <= 100) {
is_prime = 1;
for (j = 2; j < i; j++) {
if (i % j == 0) {
is_prime = 0;
break;
}
}
if (is_prime) {
printf("%d ", i);
}
i++;
}
return 0;
}
```
输出结果为:53 59 61 67 71 73 79 83 89 97。
编写一个C语言程序,编写函数,从键盘输入m,输出大于m且紧随m的素数。
好的,我可以帮助您解答问题。以下是您所需的C语言代码:
```
#include <stdio.h>
int isPrime(int num)
{
int i;
if(num == 1 || num == 0) //1和0都不是素数
return 0;
for(i=2; i<num; i++)
{
if(num % i == 0)
return 0;
}
return 1;
}
int findNextPrime(int num)
{
int i = num+1;
while(1)
{
if(isPrime(i))
return i;
i++;
}
}
int main()
{
int m, nextPrime;
printf("请输入m的值:");
scanf("%d", &m);
nextPrime = findNextPrime(m);
printf("%d是大于%d且紧随%d的素数。\n", nextPrime, m, m);
return 0;
}
```
首先,我们定义一个isPrime()函数来判断一个数是否为素数。如果该数字不是素数则返回0,否则返回1。
然后,我们定义一个findNextPrime()函数来查找大于给定数字的下一个素数。我们使用一个while循环来逐个增加数字,直到找到下一个素数为止。
最后,在主函数中,我们提示用户输入m的值,然后调用findNextPrime()函数来查找大于m的下一个素数,最后输出结果。
希望这可以帮助您解决问题。如果您有任何其他问题,请随时与我交流!