1007. To and Fro
2012-01-28 14:31
239 查看
#include <iostream> #include <cstring> using namespace std; int main() { int i, j, k, temp; int numberOfColumn; cin >> numberOfColumn; char useless[1]; cin.getline(useless,1); char message[201]; while(numberOfColumn != 0) { cin.getline(message,201); int numberOfRow = strlen(message) / numberOfColumn; for(j=1; message[j * numberOfColumn] >= 'a' && message[j * numberOfColumn] <= 'z'; j++) { if (j % 2 == 0) continue; for (k = 0;k < numberOfColumn / 2; k++) { temp = message[(j + 1) * numberOfColumn - 1 - k]; message[(j + 1) * numberOfColumn - 1 - k] = message[j * numberOfColumn + k]; message[j * numberOfColumn + k] = temp; } } for(i = 0; i < numberOfColumn; i++) { for(j = 0; j < numberOfRow; j++) { cout << message[numberOfColumn * j + i]; } } cout << endl; cin >> numberOfColumn; cin.getline(useless,1); } return 0; }
(PS:以上代码参考自http://hi.baidu.com/%C3%F4%D6%AE%C7%EF%CB%AE/blog/item/375d9b3c0c49e93296ddd8f6.html)
心得总结:
1:getline是一直读取,直到遇到第一个停止符(\n)
2:strlen的用法以及最后一个字符是“0\”
3:注意从实际中抽象简单的数学问题,然后利用合适的工具输出即可
4:可以计算双步数,也可以如上进行交换后输出
相关文章推荐
- 1007. To and Fro
- sicily 1007 To and Fro (基础题)
- 1007. To and Fro
- 1007. To and Fro
- 1007 sicily To and Fro
- 1007. To and Fro
- Sicily 1007 To and Fro
- sicily 1007 To and Fro (基地称号)
- 1007[To and Fro]
- 1007. To and Fro
- 1007 TO and Fro
- 1007. To and Fro
- hdu-1200 To and Fro
- POJ 2039 To and Fro G++
- hdoj 1200 To and Fro
- HDOJ 1200 To and Fro
- HDOJ 题目1200 To and Fro(字符串)
- POJ 2039 To and Fro(我的水题之路——解密,N个字符的正逆序)
- HDU1200 To and Fro
- hdoj 1200 To and Fro