c语言实验输入两个数质数,C程序显示两个数字之间的所有质数

C程序显示两个数字之间的所有质数

在此示例中,您将学习如何打印用户输入的两个数字之间的所有质数。

要理解此示例,您应该了解以下C语言编程主题:

显示两个间隔之间的质数#include 

int main() {

int low, high, i, flag;

printf("输入两个数字(间隔): ");

scanf("%d %d", &low, &high);

printf("%d和%d之间的质数为: ", low, high);

//迭代直到low 不等于 high

while (low 

flag = 0;

// 忽略小于2的数字

if (low <= 1) {

++low;

continue;

}

//如果low为非质数,则flag为1

for (i = 2; i <= low / 2; ++i) {

if (low % i == 0) {

flag = 1;

break;

}

}

if (flag == 0){

printf("%d ", low);

}

++low;

}

return 0;

}

输出结果输入两个数字(间隔): 20

50

20和50之间的质数为: 23 29 31 37 41 43 47

在此程序中,while循环被迭代(high-low-1)次。

在每次迭代中,检查low是否为质数,low的值增加1直到low等于high。

访问此页面以了解有关如何检查数字是否为质数的更多信息。

如果用户首先输入较大的数字,则上述程序将无法正常工作。您可以通过交换数字来解决此问题。

当较大的数字先输入时,显示质数#include 

int main() {

int low, high, i, flag, temp;

printf("输入两个数字(间隔): ");

scanf("%d %d", &low, &high);

//如果low大于high则交换数字

if (low > high) {

temp = low;

low = high;

high = temp;

}

printf("%d和%d之间的质数为: ", low, high);

while (low 

flag = 0;

//忽略小于2的数字

if (low <= 1) {

++low;

continue;

}

for (i = 2; i <= low / 2; ++i) {

if (low % i == 0) {

flag = 1;

break;

}

}

if (flag == 0)

printf("%d ", low);

++low;

}

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值