سوال مربوط به استریگ در زبان سی - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

سوال مربوط به استریگ در زبان سی

0 امتیاز
کریم یک کودک ۵ ساله است که در گفتن برخی حروف انگلیسی مشکل دارد.

برای مثال او گاهی از اوقات به جای حرف K، حرف T را تلفظ میکند. اما او هیچ‌گاه به جای حرف T، حرف K را تلفظ نمی‌کند.

همینطور او گاهاَ حرف G را به اشتباه D تلفظ می‌کند. و R را بعضی اوقات L تلفظ می‌کند و بعضی اوقات F. البته پیش می‌آید که این حروف را درست تلفظ کند.

مادر کریم همیشه نسبت به گفته‌ی او شوق وافری نشان می‌دهد؛ از این رو کلمه‌ای که کریم گفته را به شما میگوید و شما باید تعداد کلمه‌های ممکن که کریم با مدنظر داشتن آن‌ها چنین کلمه‌ای را می‌گوید را به او بگویید. (مستقل از بامعنا بودن یا نبودن این کلمات)

به مثال و توضیح آن توجه کنید.

ورودی
تنها خط ورودی شامل یک رشته به طول حداکثر ۲۰ حرف از حروف بزرگ انگلیسی است.

خروجی
تنها خط خروجی باید شامل یک عدد باشد که برابر با جواب مسئله است.

مثال‌ها
ورودی نمونه
FILIPEK

خروجی نمونه
4

کریم ممکن است کلمات FILIPEK، RILIPEK، RIRIPEK یا FIRIPEK را مد نظر داشته باشد.
سوال شده اردیبهشت 5, 1402 بوسیله ی بی نام  

1 پاسخ

+1 امتیاز
 
بهترین پاسخ
#include <stdio.h>
#include <string.h>

int main() {
    char s[21];
    scanf("%s", s); //خواندن کلمه

    int len = strlen(s);
    int possibleWords = 1;

    for (int i = 0; i < len; i++) {
        if (s[i] == 'K' && (i == 0 || s[i - 1] != 'T')) // K و T
            possibleWords *= 2;
        else if (s[i] == 'G' && (i == 0 || s[i - 1] != 'D')) // G و D
            possibleWords *= 2;
        else if (s[i] == 'R' && (i == 0 || s[i - 1] != 'L')) // R و L
            possibleWords *= 2;
        else if (s[i] == 'F' && (i == 0 || s[i - 1] != 'R')) // F و R
            possibleWords *= 2;
    }

    printf("%d", possibleWords);

    return 0;
}

 

پاسخ داده شده اردیبهشت 6, 1402  بوسیله ی ابید (امتیاز 781)   19 90 106
انتخاب شد شهریور 8, 1402 بوسیله ی farnoosh
...