Frage

Ich habe ein Problem mit diesem Codefrieden, es sollte Kleinbuchstaben in Großbuchstaben ändern und mehrere Leerzeichen in einen Raum drehen.Also, was es falsch macht, es setzt irgendwie den ersten Buchstaben ab, wie ich, wenn ich "abcdefg" schreibe, es auf dem Ausgang "bcdefg" giivess.

generasacodicetagpre.

War es hilfreich?

Lösung

Es scheint, alle Buchstaben für mich zu generieren ... Haben Sie versucht, es zu verfolgen, um herauszufinden, was es in jedem Schritt mit den von Ihnen eingegebenen Zeichen tut?

Andere Tipps

Ihr leeres Space-Handling hat einige Probleme.

Es scheint, dass Sie auf jeden Fall einen Platz drucken werden (wenn Ihre Getchar 0x20 zurückgibt).

Sie können damit beginnen, dass Sie Ihre Räumeprobleme beseitigen. Andernfalls haben Sie einen besonderen problematischen Eingang.weil ich kein Problem mit dem ersten Buchstabenschnitt habe.

generasacodicetagpre.

Zuerst sollten Sie niemals Konstanten wie "32" verwenden und stattdessen das System definieren, was die Werte sind.Dh: b -= char ('');

Sekunden, untersuchen Sie die Funktionen "Isolower ()" und "TOUPPER ()" und C wird das automatisch für Sie tun.

Betrachten Sie so etwas:

einschließen

Main () {

generasacodicetagpre.

}

Input: "a bc def ghijghg 123 a1b2c3"

Ausgabe: "A bc def ghijghg 123 A1b2c3"

Hinweis: Es sieht so aus, als ob das Textfeld Leerzeichen entfällt, da die Eingangsleine viele Leerzeichen enthält.

Sie sollten sich immer auf Ihre Randbedingungen informieren.Wenn der Eingang beginnt, wird ein Bündel von Räumen immer noch einen Raum drucken.Um alle Führungsräume zu beseitigen, initialisieren Sie Flag= 1. Es druckt auch einen Endraum, wenn der Eingang nachlaufende Leerzeichen hat.Um diejenigen zu beseitigen, die Sie eine etwas andere Lösung benötigen, drucken Sie einen Raum, nachdem Sie einen Raum und einen anderen druckbaren Charakter gedruckt haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top