6bingame 发表于 2024-11-22 20:08:52

每日一学

一维数组
课本题目实例练习
题目:输出100以内的素数
#include<stdio.h>
#include"math.h"      //包含数学函数库
#define N 101         //数组元素总数
int main(void)
{
    int i,j,line,a;//定义数组

    for(i=2;i<N;i++)    //数组元素赋值

    a=i;

    for(i=2;i<sqrt(N);i++)//求素数,i的范围2到10
    {
      for(j=i+1;j<N;j++)
            {
                if(a!=0&&a!=0)

                  if(a%a==0)

                  a=0;
            }
    }

    for(i=2,line=0;i<N;i++)
    {
      if(a!=0)
      {
            printf("%5d",a);

            line++;
      }

            if(line==10)
            {
                printf("\n");

                line=0;
            }
    }
    printf("\n");

    return 0;
}

FishC 发表于 2024-11-22 20:25:27

#include <stdio.h>
#include <math.h>       // 包含数学函数库
#define N 101         // 数组元素总数

int main(void)
{
    int i, j, is_prime;

    printf("100以内的素数有:\n");
    for (i = 2; i < N; i++) {
      is_prime = 1;   // 假设当前数是素数
      for (j = 2; j <= sqrt(i); j++) {
            if (i % j == 0) {
                is_prime = 0;   // 如果i能被j整除,则i不是素数
                break;
            }
      }
      if (is_prime) {
            printf("%d ", i);   // 输出素数
      }
    }
    printf("\n");
    return 0;
}


以上代码通过for循环检查100以内的所有数,使用一个内部循环检查每个数是否为素数。如果一个数不能被小于等于其平方根的任何数整除,则认为它是素数。代码中主要用到了 `sqrt()` 函数来计算平方根,并进行了整除检查。


以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 每日一学