c语言中,输入一个正整数,计算它各个位上的数字为偶数的和
时间: 2023-05-30 20:06:52 浏览: 185
```c
#include <stdio.h>
int main()
{
int num, sum = 0;
printf("请输入一个正整数:");
scanf("%d", &num);
while(num > 0)
{
int digit = num % 10;
if(digit % 2 == 0)
{
sum += digit;
}
num /= 10;
}
printf("各位数字为偶数的和为:%d", sum);
return 0;
}
```
说明:首先输入一个正整数num,然后从个位开始逐位取出数字,判断该数字是否为偶数,如果是偶数则将其加入到sum中。最后输出sum即为各位数字为偶数的和。
相关问题
c语言:输入一个四位的正整数,判断它的各个位上是否存在偶数。
当然,我也可以帮你实现C语言版本的代码,代码如下:
```c
#include <stdio.h>
int main() {
int num;
int has_even = 0; // 0代表不存在偶数,1代表存在偶数
printf("请输入一个四位正整数:");
scanf("%d", &num);
while (num > 0) {
int digit = num % 10;
if (digit % 2 == 0) {
has_even = 1;
break;
}
num /= 10;
}
if (has_even) {
printf("该数中存在偶数");
} else {
printf("该数中不存在偶数");
}
return 0;
}
```
以上代码中,我们首先通过 `scanf` 函数获取用户输入的四位正整数,并将它存储在 `num` 变量中。然后,我们通过 `while` 循环遍历 `num` 中的每一位数字,并判断它是否为偶数。如果存在偶数,我们将 `has_even` 变量设为 `1`,并跳出循环。最后,我们通过判断 `has_even` 的值,输出对应的结果。
希望对你有所帮助!
c语言计算正整数num各位上偶数的数字之和
可以使用循环和取模运算来解决这个问题。具体步骤如下:
1. 定义变量sum,用于存储各位上偶数的数字之和,初始值为0。
2. 循环遍历num的各位数字,可以使用while循环或者for循环。
3. 在循环中,先取出num的个位数字,然后判断该数字是否为偶数,可以使用取模运算判断。如果是偶数,则将该数字加到sum中。
4. 将num除以10,去掉个位数字,继续循环直到num为0。
5. 输出sum作为结果。
下面是使用while循环的示例代码:
```c
#include <stdio.h>
int main() {
int num, digit, sum;
printf("请输入一个正整数:");
scanf("%d", &num);
sum = 0;
while (num > 0) {
digit = num % 10; // 取出个位数字
if (digit % 2 == 0) { // 判断是否为偶数
sum += digit; // 加到sum中
}
num /= 10; // 去掉个位数字
}
printf("各位上偶数的数字之和为:%d\n", sum);
return 0;
}
```
输入一个正整数,例如123456,输出结果为:各位上偶数的数字之和为:12