Ich versuche, ein Programm zu entwerfen, das unsere Nachricht aufnimmt und eine bestimmte Anzahl von Zeichen in jeder Zeile speichert (was abgeschlossen ist). Nachdem ich die Zeichen in dieser Reihenfolge behalten habe, versuche ich, den ersten Buchstaben jeder Spalte auszudrucken und ihn in einer Zeile auszudrucken und dann in die zweite Spalte zu gehen und diese Zeichen in der nächsten Zeile auszudrucken. Ich bin in der Lage, die erste Spalte mit diesem Code zu drucken, aber ich bin mir nicht sicher, wie Sie in die nächste Spalte wechseln. Irgendwelche Vorschläge?Drucken Sie das erste Wort in jeder Spalte als Zeile.
#include <stdio.h>
int main(void)
{
int row = 0 ;
int i = 0 ;
char message[256] ;
scanf("%d", &row);
fgets(message, sizeof(message), stdin) ;
while(message[i] != '\0')
{
putchar(message[i]) ;
i++ ;
if(i % row == 0)
{
putchar('\n') ;
}
i=i+row-1;
}
return 0;
}
Eine Beispielnachricht und welche Ausgabe Sie erwarten, wäre hilfreich. –
Wenn meine Eingabe 3 ist Dies ist ein C-Programm. Thi S i S a C Pro Gra m. Dann erste Zeile ist Tss pgm 2. Zeile sollte h Acrm sein – Harry
Warum ist nicht die letzte Hälfte der Nachricht ('Thi S i S ein C Pro Gra m') in der Ausgabe enthalten? Und ich glaube nicht, dass Sie die zweite Zeile richtig haben; sollte es nicht "h Crr." sein (jedes ist das Zeichen * nach * dem entsprechenden in der ersten Zeile der Ausgabe)? –