给定一个仅包含数字字符的字符串,请统计一下这个字符串中出现了多少个值为奇数的数位。c语言
时间: 2024-06-15 17:04:14 浏览: 105
在C语言中,可以通过遍历字符串的每个字符,并将其转换为数字来统计出现了多少个值为奇数的数位。具体步骤如下:
1. 定义一个计数器变量,用于记录出现了多少个值为奇数的数位,初始化为0。
2. 使用循环遍历字符串的每个字符。
3. 将字符转换为数字,可以使用`atoi`函数或者手动转换。
4. 判断转换后的数字是否为奇数,可以通过对数字进行取余操作,判断余数是否为1。
5. 如果是奇数,则将计数器变量加1。
6. 继续遍历下一个字符,直到遍历完整个字符串。
7. 最后得到的计数器变量的值即为字符串中出现了多少个值为奇数的数位。
下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int countOddDigits(char* str) {
int count = 0;
int num;
for (int i = 0; str[i] != '\0'; i++) {
num = atoi(&str[i]); // 将字符转换为数字
if (num % 2 == 1) { // 判断是否为奇数
count++;
}
}
return count;
}
int main() {
char str[] = "123456789";
int oddCount = countOddDigits(str);
printf("字符串中出现了%d个值为奇数的数位\n", oddCount);
return 0;
}
```
阅读全文