1-a-k도 되는데 이번에는 뭐가 안되는걸까요 ㅠㅠ

hippo7665 Reply 9 years 2 days ago
#include <stdio.h> int main() { int c, d, e, f, g, i; while ((c=getchar())!=EOF){ if (c>='0'&&c<='9'){ d=getchar(); if (d=='-'){ e=getchar(); if (e>='0'&&e<='9'&&e>=c){ for (i=0; i<=e-c; i=i+1) printf("%c", c+i); } else { f=getchar(); if (f=='-'){ g=getchar(); if ((e>='0'&&e<='9'&&g>='0'&&g<='9'&&g>=e)||(e>='A'&&e<='Z'&&g>='A'&&g<='Z'&&g>=e)||(e>='a'&&e<='z'&&g>='a'&&g<='z'&&g>=e)){ printf("%c%c", c, d); for (i=0; i<=g-e; i=i+1) printf("%c", e+i); } else printf("%c%c%c%c%c", c, d, e, f, g); } else printf("%c%c%c%c", c, d, e, f); } } else printf("%c%c", c, d); } else if (c>='A'&&c<='Z'){ d=getchar(); if (d=='-'){ e=getchar(); if (e>='A'&&e<='Z'&&e>=c){ for (i=0; i<=e-c; i=i+1) printf("%c", c+i); } else { f=getchar(); if (f=='-'){ g=getchar(); if ((e>='0'&&e<='9'&&g>='0'&&g<='9'&&g>=e)||(e>='A'&&e<='Z'&&g>='A'&&g<='Z'&&g>=e)||(e>='a'&&e<='z'&&g>='a'&&g<='z'&&g>=e)){ printf("%c%c", c, d); for (i=0; i<=g-e; i=i+1) printf("%c", e+i); } else printf("%c%c%c%c%c", c, d, e, f, g); } else printf("%c%c%c%c", c, d, e, f); } } else printf("%c%c", c, d); } else if (c>='a'&&c<='z'){ d=getchar(); if (d=='-'){ e=getchar(); if (e>='a'&&e<='z'&&e>=c){ for (i=0; i<=e-c; i=i+1) printf("%c", c+i); } else { f=getchar(); if (f=='-'){ g=getchar(); if ((e>='0'&&e<='9'&&g>='0'&&g<='9'&&g>=e)||(e>='A'&&e<='Z'&&g>='A'&&g<='Z'&&g>=e)||(e>='a'&&e<='z'&&g>='a'&&g<='z'&&g>=e)){ printf("%c%c", c, d); for (i=0; i<=g-e; i=i+1) printf("%c", e+i); } else printf("%c%c%c%c%c", c, d, e, f, g); } else printf("%c%c%c%c", c, d, e, f); } } else printf("%c%c", c, d); } else printf("%c", c); } return 0; }
YooJaeHyo Reply 9 years 2 days ago
음... 코딩이 길어지긴햇지만 결국 본질은 a-1-a-k라던가 연이은 문장이 나올경우 안됩니다... 즉 한 루트에서 다 처리하려하시지 마시고 그냥 따로 c=='-'일때 방식을 따로 체택하시는게 어떨지요...?
YooJaeHyo Reply 9 years 2 days ago
물론 1-4-7같은 경우 1234-7이 되도록 또 따로 조정을 해야겟죠...ㅋ