TÜBİTAK – 2023 Bilim Olimpiyatları – Bilgisayar – A Kitapçığı – Soru 50

C Programlama Tübitak - Bilim Olimpiyat Soruları Yazılım

Soru : char* str = ” tubitak olimpiyatlarinda basarili olmak cok guzeldi”;
printf(“%d \n”, metot(str));
Aşağıdaki metot tanımını gözönüne alın. str içinde yukarıda görüldüğü gibi sadece alfabetik karakterler ve boşluk sembolleri olduğunda, yukarıdaki program parçasının çıkısı nedir?
Not : str null-terminated (sonu ‘\0’) ile biten bir alfasayısal ifadedir.
Not : str göstergeci her arttırıldığında dizideki bir sonraki elemanı göstermeye başlar

#include<stdio.h>
int metot(char *str) 
{
	int c = 0;
	bool flag = false;
	while (*str != '\0') 
	{
		if (*str == ' ') 
		{
			if (flag && *(str + 1) != ' ' && *(str + 1) != '\0')
				c++;
		}
		else 
		{
			if (!flag) c++;
				flag = true;
		}
		str++;
	}
	return c;
}
main()
{
	char* str = " tubitak olimpiyatlarinda basarili olmak cok guzeldi";
	printf("%d \n", metot(str));
}

Cevap : metod str içinde kaç kelime olduğu sayar. Verilen str dizisinde 6 kelime vardır.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir