BEISPIELE/b291.c: #include <stdio.h> main() /* Textformatierung */ { char c, zeile[100]; int l,k; void format(char *, int ); printf("Eingabe Text 70 <= zeilenlaenge <= 80\n\n"); while(1) { l=0; while((c=getchar()) != (char) EOF && l < 80 ) { zeile[l++]=c; if(c=='\n') break; } if(c == (char) EOF) break; if(l < 80 && l > 70) { format(zeile,80-l); l=80; } for(k=0;k<l;k++) printf("%c",zeile[k]); } } void format(char z[], int i) { int y,v; void shift(); while(i > 0) { y=0; v=0; while(z[y] != '\n') { if(z[y] == ' ') { v=1; shift(&z[y]); y++; i--; if(i == 0) return; } y++; } if(v==0) return; } } void shift(char *p) { char *j; for(j = p; *j != '\n'; j++) ; for(; j != p; j--) *(j+1) = *j; *(j+1)=' '; }