Вычислить количество четных цифр заданного натурального числа.
Пример входного файла: 12345
Пример выходного файла: 2
#include
int main()
{
int n,s=0,k=1;
scanf("%d", &n);
while(n>0)
{
if((n%10)%2==0) s=s+n%10;
n=n/10;
k++;
}
printf("%d",k);
return 0;
}
Другие языки программирования и технологии
Задача про количество четных цифр. Скажите, что неправильно? Язык Си.
0 четное число. Везде в предыдущих вариантах будет косяк. соотв при вводе 0.
Если подправлять предыдущий, то н-р так
#include < stdio.h >
int main() {
int n;
scanf("%d", &n);
int k=n==0;
while(n) {
k += !(n & 1);
n/=10;
}
printf("%d",k);
}
Ну и шутки ради свой вариант
#include < stdio.h >
int main() {
int n,k; scanf("%d", &n);
for(k=n==0;n;k+=!(n&1),n/=10);
printf("%d",k);
}
Если подправлять предыдущий, то н-р так
#include < stdio.h >
int main() {
int n;
scanf("%d", &n);
int k=n==0;
while(n) {
k += !(n & 1);
n/=10;
}
printf("%d",k);
}
Ну и шутки ради свой вариант
#include < stdio.h >
int main() {
int n,k; scanf("%d", &n);
for(k=n==0;n;k+=!(n&1),n/=10);
printf("%d",k);
}
Марат Исаканов
что именно подправить?
// позволяет работать 1023-х значными числами без знака
#include <stdio.h>
#include <ctype.h>
#define BUFFER 1024
#define MAX_SIZE BUFFER - 1
int main(void) {
char digits[BUFFER] = { 0 };
size_t count = 0u;
size_t i;
printf("Number: ");
while (!scanf_s("%s", digits, MAX_SIZE)) {
while (getchar() != '\n') { ; }
printf("Number: ");
}
for (i = 0u; digits[i]; ++i) {
if (isdigit(digits[i])) {
if (~digits[i] & 1) {
++count;
}
}
}
printf("Result: %u\n", count);
getchar();
getchar();
return 0;
}
#include <stdio.h>
#include <ctype.h>
#define BUFFER 1024
#define MAX_SIZE BUFFER - 1
int main(void) {
char digits[BUFFER] = { 0 };
size_t count = 0u;
size_t i;
printf("Number: ");
while (!scanf_s("%s", digits, MAX_SIZE)) {
while (getchar() != '\n') { ; }
printf("Number: ");
}
for (i = 0u; digits[i]; ++i) {
if (isdigit(digits[i])) {
if (~digits[i] & 1) {
++count;
}
}
}
printf("Result: %u\n", count);
getchar();
getchar();
return 0;
}
int main()
{
int n,k=0;
scanf("%d", &n);
while(n)
{
k = k + !(n & 1);
n=n/10;
}
printf("%d",k);
return 0;
}
{
int n,k=0;
scanf("%d", &n);
while(n)
{
k = k + !(n & 1);
n=n/10;
}
printf("%d",k);
return 0;
}
#include
int main() {
int number = 0;
scanf("%d", &number);
int counter = 0;
while (number > 0) {
int k = number % 10;
number /= 10;
if (k % 2 == 0) ++counter;
}
printf("%d", counter);
return 0;
}
int main() {
int number = 0;
scanf("%d", &number);
int counter = 0;
while (number > 0) {
int k = number % 10;
number /= 10;
if (k % 2 == 0) ++counter;
}
printf("%d", counter);
return 0;
}
Похожие вопросы
- Вводится целое положительное число. Определить количество чётных и нечётных цифр в числе в Си++
- Вводится последовательность чисел. Посчитать в ней количество четных чисел, стоящих на четных местах.
- язык си. задача по языку Си. Задаются коэффициенты системы из трёх линейных уравнений. Найти корни.
- Почему язык СИ такой сложный?
- задачка на языке СИ что то не делает по условию задачи
- дана целочисленная матрица размера mxm. определить числа b1,b2,...bm,каждое из которых равно количеству четных элементов
- Задачка по нахождению суммы цифр числа на языке Си... Не могу разобраться с функциями Div и Fmod...
- удалить все элементы, кроме имеющих заданное произведение цифр. язык си++.нужна срочная помощь
- Программирование на языке СИ с использованием подпрограммы-функции
- Задача по языку Си