c语言编程中的问题改错
#include<stdio.h>voidfun(int*a,int*n){inti,j=0;for(i=1;i<=1000;i++){/**************fo...
#include <stdio.h>
void fun(int *a, int *n)
{
int i, j = 0 ;
for(i = 1 ; i <= 1000 ; i++) {
/**************found**************/
if(((i % 7 == 0) || (i % 11 == 0)) && i % 77 != 0) a[j++] =i;
}
/**************found**************/
*n =j++;
}
main()
{ int aa[1000], n, k ;
/**************found**************/
fun (int *aa,int *n ) ;
for ( k = 0 ; k < n ; k++ )
if((k + 1) % 10 == 0) printf("\n") ;
else printf("%5d", aa[k]) ;
} 展开
void fun(int *a, int *n)
{
int i, j = 0 ;
for(i = 1 ; i <= 1000 ; i++) {
/**************found**************/
if(((i % 7 == 0) || (i % 11 == 0)) && i % 77 != 0) a[j++] =i;
}
/**************found**************/
*n =j++;
}
main()
{ int aa[1000], n, k ;
/**************found**************/
fun (int *aa,int *n ) ;
for ( k = 0 ; k < n ; k++ )
if((k + 1) % 10 == 0) printf("\n") ;
else printf("%5d", aa[k]) ;
} 展开
2个回答
展开全部
/**************found**************/
if(((i % 7 == 0) || (i % 11 == 0)) && i % 77 != 0) a[j++] =i;
}
反弧号是多的
/**************found**************/
*n =j++;
}
反弧号后面要有个分号
fun (int *aa,int *n ) ;
只是调用函数
对应参数应为
fun (aa,&n );
说明,传递数组只需给出数组名,因为数组名即为该数组的首地址
for ( k = 0 ; k < n ; k++ )
n没有给初始值,这是错误的,且n只能是小于1000的正整数,否则循环N次后会超出数组给定个数范围
if(((i % 7 == 0) || (i % 11 == 0)) && i % 77 != 0) a[j++] =i;
}
反弧号是多的
/**************found**************/
*n =j++;
}
反弧号后面要有个分号
fun (int *aa,int *n ) ;
只是调用函数
对应参数应为
fun (aa,&n );
说明,传递数组只需给出数组名,因为数组名即为该数组的首地址
for ( k = 0 ; k < n ; k++ )
n没有给初始值,这是错误的,且n只能是小于1000的正整数,否则循环N次后会超出数组给定个数范围
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
改了一下 大概就是这样吧:
#include <stdio.h>
void fun(int *a, int *n)
{
int i, j = 0 ;
for(i = 1 ; i <=1000 ; i++)
{
if(((i % 7 == 0) || (i % 11 == 0)) && i % 77 != 0) a[j++] =i;
}
*n =j;//这里不要j++了因为你循环最后跳出的时候j已经加了一次
}
main()
{ int aa[1000], n, k ;
/**************found**************/
fun (aa,&n ) ; //你的这里错了 不是int*aa 和int n
for ( k = 0 ; k <n ; k++ )
{
//这个for循环你少了个{}号
if((k + 1) % 10 == 0) printf("\n");
else printf("%5d", aa[k]);
}
}
#include <stdio.h>
void fun(int *a, int *n)
{
int i, j = 0 ;
for(i = 1 ; i <=1000 ; i++)
{
if(((i % 7 == 0) || (i % 11 == 0)) && i % 77 != 0) a[j++] =i;
}
*n =j;//这里不要j++了因为你循环最后跳出的时候j已经加了一次
}
main()
{ int aa[1000], n, k ;
/**************found**************/
fun (aa,&n ) ; //你的这里错了 不是int*aa 和int n
for ( k = 0 ; k <n ; k++ )
{
//这个for循环你少了个{}号
if((k + 1) % 10 == 0) printf("\n");
else printf("%5d", aa[k]);
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询