fork(1) download
  1.  
  2. #include<stdio.h>
  3. #include<string.h>
  4. void reverse(char*arr,char *f,char*e)
  5. {
  6. char temp;
  7.  
  8. while(f<e)
  9. {
  10. temp=*f;
  11. *f=*e;
  12. *e=temp;
  13.  
  14. f++;
  15. e--;
  16.  
  17. }
  18.  
  19.  
  20. }
  21.  
  22.  
  23. int main()
  24. {
  25. int r, n,i,j,c;
  26. while(1)
  27. {
  28. char str[202],*p,*q;
  29. char ans[15][15]={'\0'};
  30. //fflush(stdin);
  31. //gets(str);
  32. scanf("%d",&n);
  33. if(n==0)
  34. break;
  35. scanf("%s",str);
  36. p=str;
  37. q=str;
  38. c=1;
  39. i=0;j=0;
  40. while(*p!='\0')
  41. {
  42.  
  43. if(c==n+1)
  44. {
  45. c=1;
  46. i++;
  47. j=0;
  48. if(i%2!=0)
  49. {
  50. reverse(str,p,p+n-1);
  51. }
  52.  
  53. }
  54. ans[i][j++]=*p;
  55. c++;
  56.  
  57. p++;
  58.  
  59. }
  60. int k;
  61. r=strlen(str)/n;
  62. k=0;
  63. for(i=0;i<n;i++)
  64. {
  65. for(j=0;j<r;j++)
  66. *(q+k++)=ans[j][i];
  67.  
  68. }
  69. *(q+k)='\0';
  70. printf("%s\n",q);
  71.  
  72. }
  73.  
  74. }
  75.  
Success #stdin #stdout 0s 2172KB
stdin
5
toioynnkpheleaigshareconhtomesnlewx
3
ttyohhieneesiaabss
0
stdout
theresnoplacelikehomeonasnowynightx
thisistheeasyoneab