求大神帮忙!!C语言判定给定数组中含有的素数个数
#include<stdio.h>intisaprime(intn){inti;for(i=2;i<n;i++)if(n%i==0)break;if(i>=n)retur...
#include <stdio.h>
int isaprime (int n)
{
int i;
for (i=2;i<n;i++)
if (n%i==0)
break;
if (i>=n)
return 1;
else
return 0;
}
int isprime (x,n)
{
int j, total=0;
for (j=0;j<n;j++)
if ( isaprime (x)==1) total++;
return total;
}
main ()
{
int x[10], i,j;
for (i=0;i<10;i++)
scanf ("%d", &x[i]);
printf ("数组中含有%d个素数\n", isprime(x, 10));
}
不知到哪里错了输入2-11总是显示一共有0个素数 展开
int isaprime (int n)
{
int i;
for (i=2;i<n;i++)
if (n%i==0)
break;
if (i>=n)
return 1;
else
return 0;
}
int isprime (x,n)
{
int j, total=0;
for (j=0;j<n;j++)
if ( isaprime (x)==1) total++;
return total;
}
main ()
{
int x[10], i,j;
for (i=0;i<10;i++)
scanf ("%d", &x[i]);
printf ("数组中含有%d个素数\n", isprime(x, 10));
}
不知到哪里错了输入2-11总是显示一共有0个素数 展开
3个回答
展开全部
#include <stdio.h>
int isaprime (int n)
{
int i;
for (i=2;i<n;i++)
if (n%i==0)
break;
if (i>=n)
return 1;
else
return 0;
}
int isprime (int x[], int n) /* 这里的x参数,应该指明int数组 */
{
int j, total=0;
for (j=0;j<n;j++)
if ( isaprime (x[j])==1) total++; /* 这里传入判断的x应该用x[j] */
return total;
}
main ()
{
int x[10], i,j;
for (i=0;i<10;i++)
scanf ("%d", &x[i]);
printf ("数组中含有%d个素数\n", isprime(x, 10));
}
见上面的注释中说的
2015-06-22 · 知道合伙人软件行家
关注
展开全部
#include <stdio.h>
int isaprime (int n)
{
int i;
for (i=2;i<n;i++)
if (n%i==0)
return 0;
return 1;
}
int isprime (int *x, int n) // 定义错了
{
int j, total=0;
for (j=0;j<n;j++)
if ( isaprime(x[j]) == 1) // 带入x[j]
total++;
return total;
}
main ()
{
int x[10], i,j;
for (i=0;i<10;i++)
scanf ("%d", &x[i]);
printf ("数组中含有%d个素数\n", isprime(x, 10));
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
函数里面 有素数的时候 break直接退出了 并没有return
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询