Heim > Backend-Entwicklung > C++ > Drucken Sie einen ausgeglichenen Klammerausdruck im C-Programm unter Verwendung der angegebenen Klammern

Drucken Sie einen ausgeglichenen Klammerausdruck im C-Programm unter Verwendung der angegebenen Klammern

王林
Freigeben: 2023-09-09 23:13:02
nach vorne
1178 Leute haben es durchsucht

Drucken Sie einen ausgeglichenen Klammerausdruck im C-Programm unter Verwendung der angegebenen Klammern

Gegeben sind vier Variablen a, b, c, d, die vordefinierte Werte haben. Drucken Sie die angegebenen Klammern basierend auf den verwendeten Variablen aus.

Where-Variable,

a for ((
b for ()
c for )(
d for ))
Nach dem Login kopieren

Die Aufgabe besteht darin, alle angegebenen Klammern zu verwenden und den ausgeglichenen Klammerausdruck auszugeben, oder -1, wenn der ausgeglichene Klammerausdruck nicht gebildet werden kann. Wenn es mehrere Antworten gibt, können wir jede der mithilfe der angegebenen Klammern gebildeten Mehrfachantworten ausdrucken.

Beispiel

Input: a = 3, b = 2, c = 4, d = 3
Output : (((((()()()()())))))()()
Nach dem Login kopieren

Um dieses Ergebnis zu erzielen, können wir zunächst prüfen, ob mit einer gegebenen Anzahl von Klammern ein ausgeglichener Klammerausdruck gebildet werden kann. Wenn der Ausdruck aus einer bestimmten Anzahl von Klammern konstruiert werden kann, dann ist dies möglich.

  • Drucken Sie die Anzahl der Klammern vom Typ 1 aus.
  • Typnummer 3 in Klammern drucken.
  • Drucken Sie die Anzahl der Typ-4-Klammern aus.
  • Drucken Sie die Anzahl der Typ-2-Klammern aus.

Das Folgende ist der Algorithmus und die Implementierung der Methode.

Algorithmus

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
Nach dem Login kopieren

Beispiel

#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;
}
Nach dem Login kopieren

Ausgabe

Wenn wir das obige Programm ausführen, generiert es die folgende Ausgabe

(((((()()()()())))))()()
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonDrucken Sie einen ausgeglichenen Klammerausdruck im C-Programm unter Verwendung der angegebenen Klammern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage