例如數組元素的值依次為: 1 , 8 , 2 , 3 , 11 , 6 ;則奇數值之和 15 、偶數值之和 16 。函數原型: void findsum( int *pa , int n, int *podd, int *peven ) 。參數說明: pa 是整型數組的首地址, n 是數組元素個數(元素個數不大于100),指針 podd 、 peven 保存奇數之和、偶數之和的整型變量的地址。返回值:無返回值。預設代碼findsum_48.cview plaincopy to clipboardprint?/* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */#include <stdio.h>void findsum( int *pa, int n, int *podd, int *peven );main( ){int i, n, a[100], odd, even;scanf( "%d",&n );for( i=0; i<n; i++ )scanf("%d",&a[i] );findsum( a, n, &odd, &even );printf("odd=%d,even=%d\n", odd, even );}/* PRESET CODE END - NEVER TOUCH CODE ABOVE */
2 回答
藍山帝景
TA貢獻1843條經驗 獲得超7個贊
#include <stdio.h>
void findsum( int *pa, int n, int *podd, int *peven );
int main( )
{
int i, n, a[100], odd, even;
scanf( "%d",&n );
for( i=0; i<n; i++ )
scanf("%d",&a[i] );
findsum( a, n, &odd, &even );
printf("odd=%d,even=%d\n", odd, even );
}
void findsum( int *pa, int n, int *podd, int *peven )
{
int i;
*podd=0;
*peven=0;
for(i=0;i<n;i++)
{
if(pa[i]%2)
*podd+=pa[i];
else
*peven+=pa[i];
}
}
瀟瀟雨雨
TA貢獻1833條經驗 獲得超4個贊
void findsum( int *pa, int n, int *podd, int *peven )
{
int i = 0;
int even = 0, odd = 0;
while (i < n)
{
if (*(pa+i) % 2 == 0)
{
even += *(pa+i);
}
else
{
odd += *(pa+i);
}
++i;
}
*podd = odd;
*peven = even;
}
添加回答
舉報
0/150
提交
取消
