作业帮 > 综合 > 作业

请编写一个函数fun(int*a,int n,int *odd,int *even),函数的功能是分别求出数组a中所有的

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/11 17:39:57
请编写一个函数fun(int*a,int n,int *odd,int *even),函数的功能是分别求出数组a中所有的奇数之和偶数之和
请编写一个函数fun(int*a,int n,int *odd,int *even),函数的功能是分别求出数组a中所有的奇数之和,通过even返回偶数之和.
例如:a数组元素中的值依次为:1,9,2,3,11,6;则通过odd返回奇数之和24;则通过even返回偶数之和8.
#include
#define N 20
fun (int *a, int n, int *odd, int *even)
{
就是这里少点东西,大家帮忙写下
}
main( )
{ int a[N]={1,9,2,3,11,6}, i, n=6, odd, even;
printf ( "The original data is : \n" );
for ( i = 0; i < n; i ++ ) printf ( "%5d", *(a+i) );
printf("\n\n");
fun ( a, n, &odd, &even );
printf ( "The sum of odd numbers: %d\n", odd );
printf ( "The sum of even numbers: %d\n", even );
NONO() ;
}
NONO()
{/* 本函数用于数据读入和结果写入文件, 考生无需修改 */
int i, j, odd, even, n, a[N] ;
FILE *rf, *wf ;
rf = fopen("in.dat", "r") ;
if(rf == NULL) {
printf("在考生文件夹下数据文件in.dat不存在!") ;
return ;
}
wf = fopen("out.dat", "w") ;
for(i = 0 ; i < 10 ; i++) {
fscanf(rf, "%d", &n) ;
for(j = 0 ; j < n ; j++) fscanf(rf, "%d", a+j) ;
fun(a, n, &odd, &even) ;
fprintf(wf, "odd=%d,even=%d\n", odd, even) ;
}
fclose(rf) ;
fclose(wf) ;
}
总觉得楼上的回答有的好像有问题.
fun (int *a,int n,int *odd,int *even)
{
int i;
*odd = 0;
*even = 0;
for(i=0;i