#include<stdio.h>
int main(){
char c;
while((c=getchar())!=EOF){
if(c=='<') {
while(c!='>') c=getchar();
}
else if(c==' '||c=='\t'||c=='\n')
;
else{
printf("[");
while(c!='<'){
putchar(c);
c=getchar();
}
printf("]\n");
while(c!='>') c=getchar();
}
}
return 0;
}
老師解法(有去尾部空白)
#include<stdio.h>
#include <stdlib.h>
main()
{
char line[1024];
int idx;
int state;
int c;
state=0;
while((c=getchar())!=EOF){
if(state==0){
if(c=='<'){
state=1;
}
else{
if(c!=' '&&c!='\n'&&c!='\t'){
state=2;
idx=0;
line[idx++]=c;
}
}
}
else if(state==1){
if(c=='>'){
state=0;
}
}
else if(state==2){
if(c=='<'){
for(idx--;line[idx]==' '||line[idx]=='\n'||line[idx]=='\t';idx--);
line[idx+1]='\0';
printf("[%s]\n", line);
state=1;
}else line[idx++]=c;
}
}
}
沒有留言:
張貼留言