题目:编写函数 fun(int *a, int n, int *odd, int *even), 功能是:求出数组 a[]中所有奇数之和以及所有偶数之 和。并利用指针 odd 返回奇数之和,利用指针 even 返 回偶数之和。 例如:a[]的值依次为:1,9,2,3,11, 6;则利用指针 odd 返回奇数之和 24;利用指针 even 返 回偶数之和 8
思路:函数形参为指针,主函数传实参的地址给函数。
程序如下:
#include<stdio.h>
fun(int *a, int n, int *odd, int *even);
int main()
{
int sumodd, sumeven;
int arr[10];
sumodd = 0;
sumeven = 0;
int i;
printf("依次输入十个整数:");
for (i = 0; i < 10; i++)
{
scanf("%d", &arr[i]);
}
fun(arr,10,&sumodd, &sumeven);
printf("奇数和:%d\n", sumodd);
printf("偶数和:%d\n", sumeven);
return 0;
}
fun(int *a, int n, int *odd, int *even)
{
int i;
for (i = 0; i < n; i++)
{
if (a[i] % 2 == 0)
{
*even+=a[i];
}
else
{
*odd += a[i];
}
}
}
结果:
依次输入十个整数:2 3 4 5 6 7 8 9 10 11
奇数和:35
偶数和:30
请按任意键继续. . .