编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。

这是我的编程,请问错在哪里?菜鸟不懂望赐教!!跪谢!!!#include<stdio.h>voidfun(intm,int*k,intxx[]){inti,j,a=0;f... 这是我的编程,请问错在哪里?菜鸟不懂望赐教!!跪谢!!!
#include <stdio.h>
void fun( int m, int *k, int xx[] )
{
int i,j,a=0;
for(i=4;i<=m;i++)
{
for(j=2;j<=i;j++)
{
if(i%j==0) {xx[a++]=i;}
else continue;
}
}*k=(m-a);
}
main()
{
int m, n, zz[100];
void NONO ( );
printf( "\nPlease enter an integer number between 10 and 100: " );
scanf( "%d", &n );
fun( n, &m, zz );
printf( "\n\nThere are %d non-prime numbers less than %d:", m, n );
for( n = 0; n < m; n++ )
printf( "\n %4d", zz[n] );
NONO();
}
void NONO()
{
/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,
输出数据,关闭文件。 */
int m, n, zz[100];
FILE *rf, *wf ;
rf = fopen("in.dat","r") ;
wf = fopen("out.dat","w") ;
fscanf( rf, "%d", &n );
fun( n, &m, zz );
fprintf(wf, "%d\n%d\n", m, n );
for( n = 0; n < m; n++ )
fprintf(wf, "%d\n", zz[n] );
fclose(rf) ;
fclose(wf) ;
}
展开
 我来答
iiiiiiiipl
2019-06-03 · TA获得超过9921个赞
知道答主
回答量:68
采纳率:66%
帮助的人:3.7万
展开全部

#include <stdio.h>

void fun(int m, int *k, int xx[])

{

int i,j,n=0;

for (i=4; i<m; i++) /*找出大于A小于整数m的非素数*/

{for(j=2;j<i;j++)

if(i%j==0) break;//原程序这里了问题

if(j<i) xx[n++]=i;

}

*k=n; 

}

void main()

{

int m, n, zz[100];

printf( "\nPlease enter an integer number between 10 and 100: " );

scanf( "%d", &n );

fun( n, &m, zz );

printf( "\n\nThere are %d non-prime numbers less than %d:", m, n );

for( n = 0; n < m; n++ )

printf( "\n %4d", zz[n] );

}

扩展资料:

c语言需要说明的是:

1.一个C语言源程序可以由一个或多个源文件组成。 

2.每个源文件可由一个或多个函数组成。

3.一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。  

4.源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。

5.每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。结构体、联合体、枚举型的声明的“}”后要加“ ;”。

6.标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。

参考资料:

百度百科-c语言

123456我i拟
2013-08-26 · TA获得超过441个赞
知道答主
回答量:60
采纳率:0%
帮助的人:33.3万
展开全部
#include <stdio.h>

main()
{void fun( int m, int *k, int xx[] )
{
int i, j, a=0;
for ( i=4; i<=m; i++ )
{
for ( j=2; j<i; j++ )
{
if ( i%j == 0 )
{
xx[a++] = i;
break;
}
}
}
*k = a;
} int m, n, zz[100];
void NONO ( );
printf( "\nPlease enter an integer number between 10 and 100: " );
scanf( "%d", &n );
fun( n, &m, zz );
printf( "\n\nThere are %d non-prime numbers less than %d:", m, n );
for( n = 0; n < m; n++ )
printf( "\n %4d", zz[n] );
NONO();
}
void NONO()
{
/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,
输出数据,关闭文件。 */
int m, n, zz[100];
FILE *rf, *wf ;
rf = fopen("in.dat","r") ;
wf = fopen("out.dat","w") ;
fscanf( rf, "%d", &n );
fun( n, &m, zz );
fprintf(wf, "%d\n%d\n", m, n );
for( n = 0; n < m; n++ )
fprintf(wf, "%d\n", zz[n] );
fclose(rf) ;
fclose(wf) ;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aaaws
推荐于2016-06-15 · 超过32用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:77.3万
展开全部
void fun( int m, int *k, int xx[] )
{
int i, j, a=0;
for ( i=4; i<=m; i++ )
{
for ( j=2; j<i; j++ )
{
if ( i%j == 0 )
{
xx[a++] = i;
break;
}
}
}
*k = a;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式