왜 wrong answer일까요??

namki0628 Reply 9 years 5 weeks ago
나름 EOF도 신경쓴것같은데 잘안되네요 먼저 #include <stdio.h> #include <stdlib.h> int main() { int i,c=0,line[1000],pri[1000],prinum=0,a; while(1){ i=0; while((c=getchar())!='\n'&&c!=EOF){ line[i]=c; ++i; } for(a=i-1;a>=0;--a){ pri[prinum]=line[a]; ++prinum; } pri[prinum]='\n'; prinum++; } for(a=0;a<=prinum-3;++a) printf("%c",pri[a]); return 0; } 이렇게 제출했다가 안되서 나름다시짠다고 #include <stdio.h> #include <stdlib.h> int main() { int i=0,c,str[1000],line[1000],pri[1000],prinum=0,a,ln; while((c=getchar())!=EOF){ str[i]=c; ++i; } str[i]=c; c=0; while(str[c]!=EOF){ ln=0; while(str[c]!='\n'&&str[c]!=EOF){ line[ln]=str[c]; ++ln; ++c; } --ln; for(a=ln;a>=0;--a){ pri[prinum]=line[a]; ++prinum; } pri[prinum]='\n'; ++prinum; if(str[c]=='\n') ++c; else if(str[c]=EOF) break; } for(a=0;a<=prinum-2;++a) printf("%c",pri[a]); return 0; } 했는데 이것도 안되네요,,
blacksianj Reply 9 years 5 weeks ago
한 문단을 통째로 받는 형식으로 코드를 작성해주셨는데, 한 문장을 받고 바로 거꾸로 된 문장을 출력하고 다음 문장을 받는 식의 코드로 바꿔주세요. 그렇지 않으면 1000자 이상 되는 문단을 받을 때 답이 틀리게 됩니다. 그리고 else if(str[c]=EOF) break; 이부분 오타가 있는 것 같은데 확인해주세요