Sample 1 5 abcde Sample 2 1 a
样例输出
Sample 1
ebcda
edcba
edcba
Sample 2
a
#include <stdio.h> #include <stdlib.h> void swap(char *str1,int start,int end){ char temp; temp = str1[start]; str1[start] = str1[end]; str1[end] = temp; } void Reverse_And_Print(char *str1,int start,int end){ if(start == end){ printf("%s\n",str1); return; } else{ swap(str1,start,end); printf("%s\n",str1); Reverse_And_Print(str1,start+1,end-1); } } int main(){ char str[7]; char *str1; int num,num1; while(scanf("%s",str)!= EOF){ scanf("%d",&num); scanf("%d",&num1); str1 = (char *)malloc(sizeof(char)*(num1+1)); scanf("%s",str1); printf("%s %d\n",str,num); Reverse_And_Print(str1,0,num1-1); } return 0; }
//注:官网给的测试数据和样例说明冲突,因而提交上去会显示Runtime Error
原文:http://www.cnblogs.com/520xiuge/p/6234559.html