输入20个数,将素数输入并输出所有素数的和
我感觉是将满足条件的数赋值给新数组出了问题
#include<stdio.h>//找出素数,求和
int Su[20];
int A(int x[20],int Su[20])/*判断是否为素数并将素数给Su[20]*/
{
int i,j,b,z=0;
for(i=0,j=2;j<x[i]||i<20;i++,j++)
{ b=x[i]%j;
if(b==0)
break;
Su[z]=x[i];z=z+1; break;
}
}
int B(int Su[20])/*素数求和*/
{
int i,s=0;
for(i=0;i<20;i++)
s=Su[i]+s;
return(s);
}
int main()
{
int x[20],i,p;
printf("Enter 20 numbers:\n");
for(i=0;i<20;i++)
{ printf("%d、",i+1);
scanf("%d",&x[i]);
}
printf("素数:\n");
for(i=0,p=1;i<20;i++,p++)
{
printf("%d ",Su[i]);
if(p%5==0)
printf("\n");
}
printf("素数的和是:%d\n",B(Su));
}