首頁 > 後端開發 > C++ > 使用給定的括號,在C程式中列印平衡的括號表達式

使用給定的括號,在C程式中列印平衡的括號表達式

王林
發布: 2023-09-09 23:13:02
轉載
1179 人瀏覽過

使用給定的括號,在C程式中列印平衡的括號表達式

給定四個變數a、b、c、d,它們具有預先定義的值,根據使用的變數列印給定的括號。

其中變量,

a for ((
b for ()
c for )(
d for ))
登入後複製

任務是使用所有給定的括號並列印平衡括號表達式,如果不能形成平衡括號表達式則列印 -1。如果有多個答案,我們可以列印使用給定括號形成的多個答案中的任何一個。

範例

Input: a = 3, b = 2, c = 4, d = 3
Output : (((((()()()()())))))()()
登入後複製

為了達到這個結果,我們可以先檢查是否可以用給定數量的括號組成平衡括號表達式。如果表達式可以由給定數量的括號構成,那麼我們就可以。

  • 列印類型 1 括號的數量。
  • 列印類型的數量3 個括號。
  • 列印類型 4 括號的數量。
  • 列印類型 2 括號的數量。

以下是演算法和實作該方法的。

演算法

START
Step 1 -> Declare Function void print(int a, int b, int c, int d) Declare int i
   IF ((a == d && a) || (a == 0 && c == 0 && d == 0))
      Loop For i=1 and i<=a and i++
         Print ((
      End
      Loop For i=1 and i<=c and i++
         Print )(
      End
      Loop For i=1 and i<=d and i++
         Print ))
      End
      Loop For i=1 and i<=b and i++
         Print ()
      End
   Else
      Print can&rsquo;t be formed
Step 2 -> main()
   Declare int a = 3, b = 2, c = 4, d = 3
   Call print(a,b,c,d)
STOP
登入後複製

範例

#include<stdio.h>
void print(int a, int b, int c, int d){
   int i;
   if ((a == d && a) || (a == 0 && c == 0 && d == 0)){
      for (i = 1; i <= a; i++)
         printf("((");
      for (i = 1; i <= c; i++)
         printf(")(");
      for (i = 1; i <= d; i++)
         printf("))");
      for (i = 1; i <= b; i++)
         printf("()");
   }
   else
      printf("can&#39;t be formed");
}
int main(){
   int a = 3, b = 2, c = 4, d = 3;
   print(a, b, c, d);
   return 0;
}
登入後複製

輸出

#如果我們執行上面的程序,那麼它將產生以下輸出

(((((()()()()())))))()()
登入後複製

以上是使用給定的括號,在C程式中列印平衡的括號表達式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板