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

سلام وقت بخیر، سوال زیر را با زبان سی چطور باید نوشت؟خیلی ممنون میشم پاسخ بدید

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

اگر CapsLock روشن باشد، حروف بزرگ نوشته خواهند شد و اگر خاموش باشد حروف کوچک نوشته خواهند شد. همچنین با زدن دکمه‌ی CapsLock، وضعیت CapsLock برعکس خواهد شد.

ورودی
در سطر اول ورودی عدد n آمده‌ است که نمایانگر تعداد دکمه‌هایی است که  وارد کرده ایم.

سپس در n سطر بعدی، در هر سطر، دکمه‌ای زده ایم آمده است. این دکمه یا یکی از حروف کوچک انگلیسی است و یا دکمه‌ی CapsLock که دکمه‌ی CapsLock در ورودی به صورت "CAPS" آمده است.

تضمین می‌شود که حداقل یک دکمه از حروف زده شده است

مثال
ورودی نمونه ۱
10
d
CAPS
a
n
g
CAPS
e
r
CAPS
y
Plain text
خروجی نمونه ۱
dANGerY
سوال شده اردیبهشت 5, 1402 بوسیله ی Mohseni  

1 پاسخ

+1 امتیاز
 
بهترین پاسخ
#include <stdio.h>
#include <ctype.h> // برای تست بودن حرف کوچک یا بزرگ بودن کارکترها

int main()
{
  int n;
  char c, last_char;
  bool caps_lock_on = false;

  // ورودی تعداد دکمه‌ها
  scanf("%d", &n);

  scanf(" %c", &c); //خواندن کارکتر اول

  last_char = caps_lock_on ? toupper(c) : c; // حروف را با توجه به حالت CapsLock پرینت می کند

  // خواندن کاراکتر بعدی‌ 
  for (int i = 1; i < n; i++)
  {
    scanf(" %c", &c);

    if (c == 'CAPS')
      caps_lock_on = !caps_lock_on; // تغییر وضعیت CapsLock

    //if else با توجه به حالت CapsLock باید به صورت مناسب حرف را پرینت کند
    if (caps_lock_on)
      last_char = islower(c) ? toupper(c) : c;
    else
      last_char = isupper(c) ? tolower(c) : c;
  }

  printf("%c", last_char);

  return 0;
}

 

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