C语言 经典例题一百道 判断101-200之间有多少个素数,并输出打印所有素数。

思考:什么是素数?数学定义:大于1,除了1 和本身不能被其他数整除 的数 为素数

编程:i > 1 && i %  for( j = 2 ; j <  i ;j ++)  == 0 不是素数 反之为素数

方法一:

#include "stdio.h"
void main()
{
    int i,j;
    for(i = 101 ; i <= 200 ; i++ )
    {
        for(j = 2 ; j < i ; j++)
        {
            if(i % j == 0)          //只要除到一个数让 i 能被整除就跳出该循环。
            {
                break;
            }
            else
            {
                if( j == i-1 )          //除完最后一个数后还不跳出循环,就可以判断该数为素数。
                {
                    printf("%d ",i);

                }
            }
        
          }


    }

}

 

扩展:输入一个数,判断其是不是素数。

#include <stdio.h>

void main()
{
    int i,j;
    printf("请输入一个101-200之间的数");
    scanf("%d",&i);
    for(j = 2; j < i; j++)
    {
        if(i==1) // 若输入的数为1,直接判断 不为素数
        {
            printf("不是素数\n");break;
        }
        else if(i % j == 0) //只要有一个数能被整除就跳出循环判断为 不是素数
        {
            printf("不是素数\n");break;

        }
        else if(i % j != 0 )
        {
            printf("为素数\n");break;
        }

    }

}
 

 

 

  • 19
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 以下是使用 C 语言编写的代码,用于判断 101-200 之间有多少个素数输出所有素数。 ```c #include <stdio.h> int main() { int i, j, isPrime; int count = 0; // 记录素数个数 for (i = 101; i <= 200; i++) { isPrime = 1; // 假设 i 是素数 for (j = 2; j < i; j++) { if (i % j == 0) // 如果 i 能被 j 整除,则 i 不是素数 { isPrime = 0; break; } } if (isPrime) // 如果 i 是素数,则输出 { printf("%d ", i); count++; } } printf("\n101-200之间共有 %d 个素数", count); return 0; } ``` 该代码通过一个外层循环遍历 101-200 之间的数,对于每个数,内层循环判断它是否为素数。如果是素数,则输出,并将素数个数计数器加 1。最终输出素数个数和所有素数。 ### 回答2: 要使用C语言编写程序来判断101-200之间有多少个素数,并输出所有素数,可以按照以下步骤进行: 1. 定义一个函数`isPrime`来判断一个数是否为素数素数是只能被1和自身整除的大于1的正整数。我们可以使用循环从2到该数的平方根进行判断,如果能找到能整除该数的数,则说明该数不是素数,返回0;否则返回1,表示该数是素数。 2. 在主函数中,使用循环从101200遍历每一个数。对于每个遍历到的数,调用`isPrime`函数进行判断。 3. 在`isPrime`函数中返回值为1时,输出该数,即打印素数。 下面是完整的C语言代码实现: ```c #include <stdio.h> #include <math.h> int isPrime(int num) { if (num <= 1) { return 0; } int i; for (i = 2; i <= sqrt(num); i++) { if (num % i == 0) { return 0; } } return 1; } int main() { int count = 0; int i; printf("101-200之间素数有:\n"); for (i = 101; i <= 200; i++) { if (isPrime(i)) { printf("%d ", i); count++; } } printf("\n"); printf("共有%d个素数。\n", count); return 0; } ``` 运行程序,输出结果如下: ``` 101-200之间素数有: 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 共有21个素数。 ``` 程序成功地判断101-200之间素数,并将其输出。 ### 回答3: 要使用C语言判断101-200之间有多少个素数,并输出所有素数,可以按照以下步骤进行: 1. 定义一个函数`is_prime()`,该函数用于判断一个数是否为素数素数是指除了1和本身之外没有其他因数的正整数。该函数接受一个整数参数`num`,返回一个布尔值,表示该数是否为素数。在函数内部,可以使用循环从2开始依次判断num是否可以被2到num-1之间的整数整除,如果可以整除,则不是素数,返回`false`;如果不能整除,则是素数,返回`true`。 2. 在主函数内部,使用循环从101200依次判断每个数是否为素数。如果判断结果为真,则将该数输出,并计数器`count`加一。 3. 最后输出计数器`count`的值,即为101-200之间素数个数。 下面是具体的C语言代码实现: ```c #include <stdio.h> bool is_prime(int num) { for (int i = 2; i < num; i++) { if (num % i == 0) { return false; } } return true; } int main() { int count = 0; for (int num = 101; num <= 200; num++) { if (is_prime(num)) { printf("%d ", num); count++; } } printf("\n"); printf("101-200之间素数个数为:%d\n", count); return 0; } ``` 运行上述代码后,程序会先输出101-200之间的所有素数,然后输出素数的个数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值