Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何创建存储素数的数组?_Arrays_C_Primes - Fatal编程技术网

Arrays 如何创建存储素数的数组?

Arrays 如何创建存储素数的数组?,arrays,c,primes,Arrays,C,Primes,用户给定8个整数的数组, 程序应该打印出输入的每个素数。 程序输入一些数字后停止,我不知道为什么。 你能告诉我我做错了什么吗? 代码: #包括 #包括 #包括 int main() { 常数int N=8; int i,j,count,x; int-arr[N]; 整数素数[N]; j=2; 对于(i=0;i

用户给定8个整数的数组, 程序应该打印出输入的每个素数。 程序输入一些数字后停止,我不知道为什么。 你能告诉我我做错了什么吗? 代码:

#包括
#包括
#包括
int main()
{
常数int N=8;
int i,j,count,x;
int-arr[N];
整数素数[N];
j=2;
对于(i=0;i
如果用户输入的整数小于上一个整数,则程序将进入无限循环。您可能想在else子句中初始化j,就在do-while循环之前


还请注意,您应该检查scanf的返回值,以确保实际输入的是整数。

如果用户输入的整数小于上一个整数,则程序将进入无限循环。您可能想在else子句中初始化j,就在do-while循环之前


还要注意的是,您应该检查scanf的返回值,以确保实际输入了整数。

我使用booleen函数检查数组中的元素是否为素数,然后像这样填充素数数组:

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

bool Prime(int);

int main()
{
    int N;
    do
    {
       printf("Give me the number of numbers :");
       scanf("%d",&N);
    }while(N<1);//in your array must be minimum 1 element
    int prime[N];
    int arr[N];
    int j=0;

    for(int i=0;i<N;i++)
    {
       do
       {
           printf("Enter a number %d:",i+1);
           scanf("%d", &arr[i]);
       }while(arr[i]<0); //you can write while(arr[i]>1) and you just write if(Prime(arr[i])==true)

       if(arr[i]!=1&&arr[i]!=0&&Prime(arr[i])==true)
       {
          prime[j]=arr[i];
          j++;
       }
   }
   printf("\n\n");
   for(int p=0;p<j;p++)
   {
       printf("%d th prime number:%d\n",p+1,prime[p]);
   }
  return 0;
}


bool Prime(int n)
{
    for(int i=2;i<=(n/2);i++)
    {
         if(n%i==0)
         {
             return false;
         }
    }
    return true;
}
#包括
#包括
#包括
布尔素数(int);
int main()
{
int N;
做
{
printf(“给我数字:”);
scanf(“%d”和“&N”);

}(N我使用booleen函数检查数组中的元素是素数还是否,然后我像这样填充素数数组:

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

bool Prime(int);

int main()
{
    int N;
    do
    {
       printf("Give me the number of numbers :");
       scanf("%d",&N);
    }while(N<1);//in your array must be minimum 1 element
    int prime[N];
    int arr[N];
    int j=0;

    for(int i=0;i<N;i++)
    {
       do
       {
           printf("Enter a number %d:",i+1);
           scanf("%d", &arr[i]);
       }while(arr[i]<0); //you can write while(arr[i]>1) and you just write if(Prime(arr[i])==true)

       if(arr[i]!=1&&arr[i]!=0&&Prime(arr[i])==true)
       {
          prime[j]=arr[i];
          j++;
       }
   }
   printf("\n\n");
   for(int p=0;p<j;p++)
   {
       printf("%d th prime number:%d\n",p+1,prime[p]);
   }
  return 0;
}


bool Prime(int n)
{
    for(int i=2;i<=(n/2);i++)
    {
         if(n%i==0)
         {
             return false;
         }
    }
    return true;
}
#包括
#包括
#包括
布尔素数(int);
int main()
{
int N;
做
{
printf(“给我数字:”);
scanf(“%d”和“&N”);

}当(N@Augustkarlstorm现在可以工作,但即使没有输入,也会在第四个素数中打印出一个0。例如:第1个素数:12个素数:7个第3个素数:73个第4个素数:0个第5个素数:5@NomeAcaso解决程序故障的最简单方法是插入打印语句,该语句在c语言中的不同位置打印变量ode。@Augustkarlstorm现在可以工作,但即使没有输入,也会在第四个素数中打印出一个0。例如:第1个素数:12个素数:7个素数:73个第4个素数:0个第5个素数:5@NomeAcaso解决程序故障的最简单方法是插入print语句,该语句在程序中的不同位置打印变量代码。感谢这个解决方案,我以前想过使用函数,但它不起作用,顺便说一句,我可以不使用它,我只需要更改if语句中的索引。感谢这个解决方案,我以前想过使用函数,但它不起作用,顺便说一句,我可以不使用它,我只需要更改索引I在if语句中。