Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

تحديات برمجيةالتحدي الثالث - حل التمرين الأول بلغة C

المطلوب

قم بتعريف دالة إسمها CountWords, عند استدعاءها نمرر لها نص, فترجع عدد الكلمات الموجودة في هذا النص.
بعدها قم بتجربة هذه الدالة في البرنامج.

مثال: إذا قمنا باستخدام الدالة CountWords() و تمرير النص "Programming is easy to learn." فإنها سترجع الرقم 5.


الحل بلغة C

#include <stdio.h>
#include <string.h>
#define MAX_SIZE 1000
int countWords(char * s) {
if (s[0] == '\0')
{
return 0;
}
int counter = 0;
int length = strlen(s);
char * newS = (char*) malloc ((length + 1) * sizeof(char));
for (int i = 0; i < length; i++) {
newS[i] = s[i];
}
newS[length] = ' ';
newS[length + 1] = '\0';
for (int i = 0; i < strlen(newS) - 1; i++)
{
if (newS[i] != ' ' && newS[i+1] == ' ')
{
counter++;
}
}
return counter;
}
void main() {
char * text = "Programming is easy to learn.";
int numberOfWords = countWords(text);
printf("Total words: %d", numberOfWords);
}
#include <stdio.h> #include <string.h> #define MAX_SIZE 1000 int countWords(char * s) { if (s[0] == '\0') { return 0; } int counter = 0; int length = strlen(s); char * newS = (char*) malloc ((length + 1) * sizeof(char)); for (int i = 0; i < length; i++) { newS[i] = s[i]; } newS[length] = ' '; newS[length + 1] = '\0'; for (int i = 0; i < strlen(newS) - 1; i++) { if (newS[i] != ' ' && newS[i+1] == ' ') { counter++; } } return counter; } void main() { char * text = "Programming is easy to learn."; int numberOfWords = countWords(text); printf("Total words: %d", numberOfWords); }

سنحصل على النتيجة التالية عند التشغيل.

Total words: 5