使用c语言编写一个函数,分别求出数组a中的奇数之和与所有偶数之和格式如下fun(int *a,int n,int *odd,int *even)
时间: 2023-02-24 18:03:44 浏览: 344
下面是使用 C 语言编写的求出数组 `a` 中奇数和偶数之和的函数:
```
void fun(int *a, int n, int *odd, int *even) {
*odd = 0;
*even = 0;
for (int i = 0; i < n; i++) {
if (a[i] % 2 == 0) {
*even += a[i];
} else {
*odd += a[i];
}
}
}
```
该函数接受两个指针变量 `odd` 和 `even`,用于存储奇数和和偶数和。在函数内部,使用循环遍历数组 `a`,判断每一个数是奇数还是偶数,并累加到对应的变量中。
相关问题
编写 C 程序完成以下功能: 1.在主函数中输入数组测试用例,调用 fun 函数实现功能。 2.函数 fun 的功能是分别求出数组中所有的奇数之和和所有的偶数之和。形参 n 给出了数组中数据的个数;利用 odd 返回奇数之和,利用指针 even 返回偶数之和。
在C语言中,你可以编写如下的程序来实现这个功能:
```c
#include <stdio.h>
// 定义函数fun,接收整型数组和其大小作为参数
void fun(int arr[], int n, int *odd, int *even) {
int sum_odd = 0, sum_even = 0; // 初始化奇数和偶数之和
for (int i = 0; i < n; i++) { // 遍历数组
if (arr[i] % 2 == 0) { // 如果元素是偶数
sum_even += arr[i]; // 加入到偶数之和
} else { // 如果元素是奇数
sum_odd += arr[i]; // 加入到奇数之和
}
}
*odd = sum_odd; // 将奇数和赋值给odd指针
*even = sum_even; // 将偶数和赋值给even指针
}
int main() {
int n;
printf("请输入数组元素个数: ");
scanf("%d", &n);
int arr[n];
printf("请输入数组元素:\n");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
int odd_sum, even_sum; // 定义临时变量存储结果
fun(arr, n, &odd_sum, &even_sum); // 调用fun函数并传入结果地址
printf("奇数之和: %d\n", odd_sum);
printf("偶数之和: %d\n", even_sum);
return 0;
}
```
在这个程序中,`main()`函数负责获取用户输入的数组长度和元素,然后通过`fun()`函数计算奇数和偶数之和,并将结果存储在`odd_sum`和`even_sum`变量中。`fun()`函数接受数组、数组大小以及两个指向整数的指针,以便更新它们的值。
C语言:本关任务:编写函数将源字符串 s(长度小于 20)中所有数组下标为奇数的字符或ASCII码为偶数的字符放入目标字符串 t中。 并在主函数中输出目标字符串。已给出:#include<stdio.h> /********** Begin *********/ /********** End *********/ int main() { char s[20], d[20]; scanf("%s",s); fun(s,d); puts(d); return 0; }
C语言代码如下:
```c
#include<stdio.h>
/********** Begin *********/
void fun(char s[], char t[]) {
int i, j = 0;
for (i = 0; s[i] != '\0'; i++) {
if (i % 2 != 0 || s[i] % 2 == 0) {
t[j] = s[i];
j++;
}
}
t[j] = '\0';
}
/********** End *********/
int main() {
char s[20], d[20];
scanf("%s", s);
fun(s, d);
puts(d);
return 0;
}
```
函数 fun 的实现思路是遍历原字符串 s,当字符在字符串中的下标为奇数或者字符的 ASCII 码值为偶数时,将其加入目标字符串 t 中。最后在 t 字符串的末尾添加一个字符串结束符 '\0'。主函数中输入原字符串 s,调用函数 fun 将处理后的字符串存入目标字符串 d 中,并输出目标字符串 d。
阅读全文