使用c语言编写一个函数,分别求出数组a中的奇数之和与所有偶数之和格式如下fun(int *a,int n,int *odd,int *even)
时间: 2023-02-24 21:03:44 浏览: 214
下面是使用 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语言编写int fun函数 将s所指字符串除了下标为奇数,同时ascll值也为奇数的字符之外 其余所有字符都删除,剩余字符形成一个新串放在t所指的数组中
下面是一个示例代码实现:
```c
#include <stdio.h>
#include <string.h>
void fun(char *s, char *t) {
int i, j = 0;
for (i = 0; s[i] != '\0'; i++) {
if (i % 2 == 1 || s[i] % 2 == 0) {
continue;
}
t[j] = s[i];
j++;
}
t[j] = '\0';
}
int main() {
char s[] = "this is a test string";
char t[100];
fun(s, t);
printf("original string: %s\n", s);
printf("modified string: %s\n", t);
return 0;
}
```
在上面的代码中,使用了一个循环遍历字符串s中的每个字符。如果字符的下标为奇数或者字符的 ASCII 值为偶数,则跳过此字符,否则将该字符添加到新字符串t中。最后在新字符串t的末尾添加一个空字符,使其成为一个有效的 C 字符串。
编写函数void fun(char *s ,char *t),将s所指字符串中位于奇数位置的字符或ASCII码为偶数的字符放入t所指字符数组中。用c语言编写且有主函数
下面是代码实现:
```c
#include <stdio.h>
#include <string.h>
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];
}
}
t[j] = '\0';
}
int main() {
char s[100], t[100];
printf("请输入字符串s:");
scanf("%s", s);
fun(s, t);
printf("处理后的字符串t为:%s\n", t);
return 0;
}
```
函数 `fun()` 接受两个参数,分别是源字符串 `s` 和目标字符串 `t`。函数中使用循环遍历源字符串中的每个字符,如果该字符位于奇数位置或其 ASCII 码为偶数,则将其添加到目标字符串中。最后,将目标字符串末尾的字符设为 '\0',以标记字符串的结束。
在 `main()` 函数中,首先输入源字符串 `s`,然后调用 `fun()` 函数进行处理,将结果存储在目标字符串 `t` 中,并输出由 `fun()` 处理后的字符串 `t`。