c语言 求一数组中的非素数之和。 例如:数组a的元素是2,3,5,7,8,9,10,11,12,13,15,17 则输出:Sum is :54.

请在————1———— 和——————2——————中填入一句适当的语句,满足问题条件。
#include <math.h>
#include <conio.h>
#include <stdio.h>
prime( int m )
{ int j,k,f;
k=sqrt(m);
for(j=2;j<=k;j++)
if( m % j == 0 )
/************found************/
____(1)____;
if( j >= k+1 ) f=1;
else f=0;
return (f);
}
main()
{ int a[12]={2,3,5,7,8,9,10,11,12,13,15,17},i,s;

s = 0;
for ( i=0; i<12; i++)
{
/************found************/
if( prime(____2____ )==0)
s += a[i];
}
printf("Sum is: %d",s);
}

#include <math.h>
#include <conio.h>
#include <stdio.h>
prime( int m )
{ int j,k,f;
k=sqrt(m);
for(j=2;j<=k;j++)
if( m % j == 0 )
/************found************/
____break____;
if( j >= k+1 ) f=1;
else f=0;
return (f);
}
main()
{ int a[12]={2,3,5,7,8,9,10,11,12,13,15,17},i,s;

s = 0;
for ( i=0; i<12; i++)
{
/************found************/
if( prime(____a[i]____ )==0)
s += a[i];
}
printf("Sum is: %d",s);
}

比较简单哦,希望能帮到你!
有问题可以在问我哦!追问

不能运行。。。

追答

#include
#include
#include
prime( int m )
{ int j,k,f;
k=sqrt(m);
for(j=2;j= k+1 ) f=1;
else f=0;
return (f);
}
main()
{ int a[12]={2,3,5,7,8,9,10,11,12,13,15,17},i,s;

s = 0;
for ( i=0; i<12; i++)
{
if( prime(a[i] )==0)
s += a[i];
}
printf("Sum is: %d",s);
}
这样就可以运行了!

追问

不可以。。。。运行了。。。你填错了吧。。。

追答

把你那错误贴出来,我都运行了

追问

真的不行。。。我用的是C-FREE5.O版。。

追答

#include
#include
#include
int prime( int m ) //prime前面加一个int表示返回类型
{ int j,k,f;
k=sqrt(m);
for(j=2;j= k+1 ) f=1;
else f=0;
return (f);
}
main()
{ int a[12]={2,3,5,7,8,9,10,11,12,13,15,17},i,s;

s = 0;
for ( i=0; i<12; i++)
{
if( prime(a[i] )==0)
s += a[i];
}
printf("Sum is: %d",s);
}
你那错误是告诉prime不能没有返回类型

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-02
#include <math.h>
#include <stdio.h>
prime( int m )
{ int j,k,f;
k=sqrt(m);
for(j=2;j<=k;j++)
if( m % j == 0 )
break;
if( j >= k+1 ) f=1;
else f=0;
return (f);
}
main()
{ int a[12]={2,3,5,7,8,9,10,11,12,13,15,17},i,s;

s = 0;
for ( i=0; i<12; i++)
{
if( prime(a[i] )==0)
s += a[i];
}
printf("Sum is: %d",s);
}
第2个回答  2011-06-02
他没有填错,不过要在 函数prime前面加一个int,还有有的编译器会对sqrt函数报错,将操作数强制转一下就OK了。main前加个void也好。
如果还不行,就把编译错误的报告发上来吧追问

除了_____1_____和______2______处能改 其他地方都不能动哦。。。这是考试模拟题。。期末考就是从模拟题里面抽出来的。。。楼上的答案我真的运行不了啊。。。

追答

你先把编译和运行报错的报告贴上来~

第3个回答  2011-06-03
请在————1———— 和——————2——————中填入一句适当的语句,满足问题条件。
相似回答