মডিউল ৫-৩ঃ N. Char

Problem Link: https://codeforces.com/group/MWSDmqGsZm/contest/219158/problem/N

Problem Statement:

আপনাকে একটি অক্ষর X দেওয়া হয়েছে। এই অক্ষরটি ছোট হাতের অক্ষর (যেমন a, b, c) অথবা বড় হাতের অক্ষর (যেমন A, B, C) হতে পারে। নিম্নলিখিত নিয়মাবলি অনুসরণ করে অক্ষরটি রূপান্তর করুন এবং print করুন:

  • যদি অক্ষরটি ছোট হাতের হয়: তাহলে এটিকে বড় হাতের অক্ষরে রূপান্তর করে print করুন। (উদাহরণ: 'a' কে 'A' এ রূপান্তর)

  • যদি অক্ষরটি বড় হাতের হয়: তাহলে এটিকে ছোট হাতের অক্ষরে রূপান্তর করে print করুন। (উদাহরণ: 'A' কে 'a' এ রূপান্তর)

দ্রষ্টব্য: ছোট হাতের 'a' এবং বড় হাতের 'A' এর ASCII মানের মধ্যে পার্থক্য 32।

Code:

#include<stdio.h>
int main()
{
    char a;
    scanf("%c",&a);
    if(a>='a' && a<='z')
    {
        int ans=a-32;
        printf("%c",ans);
    }
    else 
    {
        int ans=a+32;
        printf("%c",ans);
    }
    return 0;
}

Line-by-Line Explanation:

#include<stdio.h>

এই লাইনে প্রোগ্রামের শুরুতে <stdio.h> হেডার ফাইল include করা হয়েছে।

int main()

মেইন ফাংশন ডিফাইন করা হয়েছে।

char a;

একটি ক্যারাক্টার টাইপের ভেরিয়েবল 'a' ডিক্লেয়ার করা হয়েছে।

scanf("%c",&a);

scanf ফাংশনের মাধ্যমে একটি ক্যারাক্টার ইনপুট নেওয়া হয়েছে।

if(a>='a' && a<='z')

এই লাইনে চেক করা হচ্ছে যে প্রাপ্ত অক্ষর 'a' থেকে 'z' এর মধ্যে কিনা। যদি হয় তাহলে প্রোগ্রাম নিচের ব্লকে যাবে।

{
    int ans=a-32;
    printf("%c",ans);
}

যদি প্রাপ্ত অক্ষর ছোট হাতের হয়, তাহলে অক্ষরের ASCII মান থেকে 32 বিয়োগ করে সেটি মান প্রিন্ট করা হয়। 32 বিয়োগ করার কারণ হলো, ASCII কোড টেবিলে ছোট হাতের এবং বড় হাতের অক্ষরগুলির মধ্যে পার্থক্য 32।

উদাহরণ:

  • যদি ইনপুট 'a' (ASCII VALUE->97) হয়, ans = 97-32 = 65 (A এর ASCII কোড) হবে এবং আউটপুট 'A' হবে।

else 
{
    int ans=a+32;
    printf("%c",ans);
}

অন্যথায়, যদি অক্ষর বড় হাতের হয়, তবে 32 যোগ করে মান প্রিন্ট করা হয়।

উদাহরণ:

  • যদি ইনপুট 'A' (ASCII VALUE->65) হয়, ans = 65+32 = 97 (a এর ASCII কোড) হবে এবং আউটপুট 'a' হবে।

return 0;

প্রোগ্রামের সমাপ্তি নির্দেশ করে।

}

মেইন ফাংশনের বডির শেষ।

Last updated