Выведите все нечетные числа из последовательности, сохраняя их порядок - C (СИ)
Формулировка задачи:
Вся голова уже сломалась. Для многозначных чисел работает, а для однозначных типа 1, 2 и т.п. не хочет. Все равно в обратном порядке выводит
//Дана последовательность натуральных чисел (одно число в строке), завершающаяся числом 0.
//Выведите все нечетные числа из этой последовательности, сохраняя их порядок.
#include "stdafx.h"
#include "locale.h"
#include "math.h"
#include "stdio.h"
#include "conio.h"
#include "time.h"
#include "stdlib.h"
void Nechet(int);
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL, "rus");
printf("Введите числа:\n");
Nechet(0);
return 0;
}
void Nechet(int j)
{
int x;
int temp;
j++;
scanf("%d", &x);
if (x != 0)
{
temp = x % 10;
Nechet(x/10);
}
if ((x % 2) != 0)
{
printf("Нечетные: %d\n", temp);
}
}Решение задачи: «Выведите все нечетные числа из последовательности, сохраняя их порядок»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>
void Nechet();
int main(int argc, char *argv[])
{
setlocale(LC_ALL, "rus");
printf("Введите числа:\n");
Nechet();
return 0;
}
void Nechet()
{
int x;
scanf("%d", &x);
if ((x % 2) != 0)
printf("Нечетные: %d\n", x);
if (x != 0)
Nechet();
}