ACM -- 算法小结(三)反转句子顺序与反转单词组成顺序
hdoj 1321 反转句子字母顺序 ac 2011/10/05
1 #include <iostream> 2 #include <string> 3 #include <algorithm> 4 using namespace std; 5 6 int main() 7 { 8 int n; 9 cin>>n; 10 cin.ignore();//不可省略 11 char a[72]; 12 13 while(n--) 14 { 15 cin.getline(a,70); 16 strrev(a); 17 cout<<a<<endl; 18 } 19 return 0; 20 21 }
hdoj1062 单词反转 ac 2011/10/05
1 #include <iostream> 2 #include<cstdio> 3 #include<cstring> 4 using namespace std; 5 6 int main() 7 { 8 int t; 9 cin>>t; 10 getchar(); 11 12 while(t--) 13 { 14 char a[1001]; 15 cin.getline(a,1001); 16 int n=strlen(a); 17 18 for(int i=0;i<n;i++) 19 { 20 int k=i; 21 22 while(a[k]!=' '&&a[k]!='\0') 23 k++; 24 25 for(int j=k-1;j>=i;j--) 26 cout<<a[j]; 27 i=k; 28 29 //注意,每一组如果最后有空格,空格照样要输出 30 if(a[i]==' ') 31 cout<<' '; 32 } 33 34 cout<<endl; 35 } 36 return 0; 37 }