用C语言写一个判断一个数是否含有偶数个位数的自定义函数
时间: 2024-05-09 13:18:15 浏览: 11
好的,以下是判断一个数是否含有偶数个位数的C语言自定义函数:
```c
int even_digits(int num){
int count = 0;
while(num != 0){
num /= 10;
count++;
}
if(count % 2 == 0){
return 1;
}
else{
return 0;
}
}
```
你可以调用这个函数并传入一个整数参数,它将返回1或0,如果1表示该数包含偶数个数字,如果0则表示该数包含奇数个数字。
相关问题
使用C语言实现将字符串中的奇数字符与偶数字符取出各组成一个五位数整数,并相加
可以使用C语言中的字符数组来实现这个功能。首先,定义两个变量odd和even来分别保存奇数字符的整数值和偶数字符的整数值,初始值都为0。然后,遍历字符串中的每个字符,通过取模运算将其分为奇数字符和偶数字符,将其组成五位数整数并相加,最后输出相加的结果即可。
下面是示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int odd = 0, even = 0; // 初始化 odd 和 even
printf("请输入字符串:");
scanf("%s", str); // 读取字符串
for (int i = 0; i < strlen(str); i++) {
if (i % 2 == 0) { // 如果是偶数字符
even = even * 10 + str[i] - '0'; // 组成偶数整数并相加
} else { // 如果是奇数字符
odd = odd * 10 + str[i] - '0'; // 组成奇数整数并相加
}
}
int result = odd + even; // 计算相加的结果
printf("奇数字符和偶数字符组成的整数相加的结果为:%d\n", result);
return 0;
}
```
注意,这里使用了字符数组来保存字符串,而不是使用字符串指针。在遍历字符串时,需要使用`strlen()`函数来获取字符串的长度。另外,在组成整数时,需要将之前的整数值乘以10,再加上当前字符对应的整数值。最后,输出相加的结果即可。
编写C语言程序一个函数,将行参n中各位上偶数的数取出,按原来从高到低的顺序组成一个新的数,并作为函数值返回。
以下是一个实现该功能的C语言函数:
```c
int extract_even_digits(int n) {
int result = 0; // 用于存储新的数
int base = 1; // 基数,用于计算位数
while (n > 0) {
int digit = n % 10; // 取出最低位的数字
if (digit % 2 == 0) {
result += digit * base; // 将偶数位上的数字加入新的数中
base *= 10; // 更新基数
}
n /= 10; // 将最低位的数字去掉
}
return result;
}
```
该函数中使用了一个 while 循环,每次从 n 中取出最低位的数字,如果该数字为偶数,则将其加入新的数中。最后返回新的数即可。
例如,如果调用 `extract_even_digits(123456789)`,则返回的值为 2468,因为 2、4、6、8 都是偶数位上的数字。