/*
*Write a C program that reads in integer numbers from the keyboard until 0.
*(2p) After the user enters 0 make the program print out the smallest (2p) odd
*number (2p) it caught and the largest number read previously.
*Example run:
*	Give a number please... 2
*	Give a number please... 7
*	Give a number please... 5
*	Give a number please... 8
*	Give a number please... 9
*	Give a number please... 0
*	Smallest odd number is: 5
*/

#include <stdio.h>

int main() {
	int a,s;
	
	printf("Give a number please... ");
	scanf("%d", &a);
	
	if(a%2==1) {
		s=a;
	}
	
	while(a!=0) {
		printf("Give a number please... ");
		scanf("%d", &a);
		if((s>a)&&(a%2==1)) {
			s=a;
		}
	}
	
	printf("Smallest odd number is: %d\n", s);
	
	return 0;
}
Çıktıyı aldığım zaman Smallest odd number is: 0 olarak geliyor. Nedenini bir türlü anlayamadım. Herşey düzgün gibi görünüyor ama bir türlü çıktıyı alamadım.

Aldığım görüntü:


İngilizce bilmeyenler için şöyle açıklıyayım soruyu:
Kullanıcı klavyeden rakam girişi yapacak bu rakam girişi 0 girilene kadar devam edecek ve en sonunda da en küçük tek sayıyı ekrana yazdıracak.