সমস্যা
স্যুইচ কেস ছাড়া C প্রোগ্রামিং ভাষায় দত্ত সংখ্যাকে ওয়ার্ড ফরম্যাটে কীভাবে প্রিন্ট করবেন?
সমাধান
এই প্রোগ্রামে টু-ডিজিট সংখ্যা ওয়ার্ডে প্রিন্ট করার জন্য তিনটি কন্ডিশন চেক করা হয়—
if (no < 0 || no > 99)— ইনপুট সংখ্যা টু-ডিজিট নয়।else if (no == 0)— প্রথম সংখ্যা শূন্য প্রিন্ট।else if (no >= 10 && no <= 19)— সিঙ্গেল ডিজিট নম্বর ওয়ার্ডে প্রিন্ট।else if (no >= 20 && no <= 90)—if (no % 10 == 0)— টু-ডিজিট নম্বর ওয়ার্ডে প্রিন্ট।
প্রোগ্রাম
#include<stdio.h>
#include<string.h>
int main() {
int no;
char *firstno[] = {"zero", "ten", "eleven", "twelve", "thirteen",
"fourteen", "fifteen", "sixteen", "seventeen",
"eighteen", "nineteen"};
char *secondno[] = {"twenty", "thirty", "forty", "fifty", "sixty",
"seventy", "eighty", "ninety"};
char *thirdno[] = {"one", "two", "three", "four", "five", "six",
"seven", "eight", "nine"};
printf("enter a number:");
scanf("%d", &no);
if (no < 0 || no > 99)
printf("enter number is not a two digit number\n");
else if (no == 0)
printf("the enter no is:%s\n", firstno[no]);
else if (no >= 10 && no <= 19)
printf("the enter no is:%s\n", firstno[no - 10 + 1]);
else if (no >= 20 && no <= 90)
if (no % 10 == 0)
printf("the enter no is:%s\n", secondno[no / 10 - 2]);
else
printf("the enter no is:%s %s\n", secondno[no / 10 - 2], thirdno[no % 10 - 1]);
return 0;
}
আউটপুট
enter a number: 79 the enter no is: seventy nine enter a number: 234 enter number is not a two digit number