تمرین چاپ برعکس کوئرا + جاوا
در این نوشته تمرین “دنباله فیبوناچی به صورت برگشتی” که در وبسایت کوئرا موجود می باشد را برای شما کاربران عزیز حل کرده ایم.
در مورد سایت کوئرا بیشتر بخوانید…
سوال تمرین چاپ برعکس
برنامهای بنویسید که در هر مرحله یک عدد را از ورودی دریافت کند و تا زمانی که رقم صفر وارد نشده به کار خود ادامه دهد.
پس از وارد شده رقم صفر این برنامه باید اعداد وارد شده را به صورت برعکس ترتیب وارد شدن چاپ نماید.
ورودی تمرین چاپبرعکس
نحوه ورودی دادن این گونه است که در هر خط یک عدد وارد میشود.
تعداد اعداد در ورودی کمتر از ۱۰۰۰ است.
تضمین میشود که تنها یک بار عدد ۰ در انتهای ورودی ظاهر شود و دیگر اعداد در ورودی، اعداد طبیعی حداکثر ۱۰۰۰ باشند.
خروجی تمرین چاپبرعکس
در خروجی باید در هر خط یک عدد چاپ شود.
مثال تمرین چاپبرعکس
input : 3 4 7 4 9 0 output : 9 4 7 4 3
کد+حل تمرین چاپ برعکس (جاوا)
import java.math.RoundingMode; import java.text.DecimalFormat; import java.util.Scanner; public class Main { static Scanner sc; public static void main(String[] args) { sc = new Scanner(System.in); int number; String result = ""; int counter = 0; while (true) { number = sc.nextInt(); if(number == 0) break; if(counter==0) result = String.valueOf(number); else result = String.valueOf(number) + '\n' + result; counter++; } System.out.println(result); } }
روش حل تمرین چاپ برعکس
ابتدا یک حلقه ی بی نهایت while را با true می سازیم.
سپس هر بار یک عدد را با کمک Scanner دریافت می کنیم.
در بخش بعد یک شماره با نام counter داریم که اگر بار اول اجرای حلقه بود عینا عدد را در خروجی می گذاریم.
نکته : برای نمایش خروجی نهایی از متغیری با نام result استفاده کرده ایم.
در دفعات بعدی حلقه بررسی می کنیم در صورتی که عدد صفر بود از حلقه خارج می شویم و مقدار خروجی را چاپ می کنیم.
اگر صفر وارد نشده بود مقدار عدد جدید را به ابتدای ورودی می چسبانیم و یک کاراکتر new line که با \n ایجاد می شود را اضافه می کنیم.
پایان.!
حل سوال توسط کاربران (ارسالی توسط کاربران سایت)
کد 1 ::
package ArraysAndInformation; import java.util.Scanner; public class ReversePrint { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n[] = new int[1000]; int x; for (int i = 0; ; i++) { n[i] = scan.nextInt(); x = i; if (n[i] == 0) break; } for (int i = (x – 1); i >= 0; i–) System.out.println(n[i]); } }
کد 2 ::
import java.util.Scanner; public class temp { public static void main(String[] args) { Scanner get = new Scanner(System.in); int num = 0, end, start, p; int[] numbers = new int[1000]; int i = 0; do { num = get.nextInt(); numbers[i] = num; i++; } while (num != 0); { start = 0; end = numbers.length - 1; while (end > start) { p = numbers[start]; numbers[start] = numbers[end]; numbers[end] = p; end--; start++; } for (int item : numbers) { if(item!=0) { System.out.println(item + " "); } else { continue; } } } } }
منبع سوال : وبسایت کوئرا
اگر روش حل بهتری دارید برای ما ارسال کنید تا با نام خودتان به اشتراک بگذاریم.
اگر سوال خاصی را مدنظر دارید در بخش نظرات برای ما ارسال کنید تا حل آن سوال را در الویت محتوای سایت بگذاریم.
موفق باشید.
میشود جواب سوال ها را به صورت پایتون بنویسید
در مرحله های بعدی این کار انجام می شود
با تشکر از مشارکتتون توی این نوشته.
کد شما به عنوان کد کاربران به محتوای این نوشته اضافه شد.
بسیار عالی، ممنون از مشارکت شما.