题目
题目收获
很简单的一道题,但是还是有收获的,我发现我连scanf的字符串输入都忘记咋用了。。。。。我一开始写的
#include <iostream>
#include <cstring>
using namespace std;void deserve(string &str){int n = str.size();int Size = n/2;for(int i=0;i<Size;i++){swap(str[i],str[n-1-i]);}
}int main(){string str;while(scanf("%s",&str)!=EOF){deserve(str);printf("%s",str);}return 0;
}
结果发现咋搞都编译错误,查别人的博客发现别人和自己一样,最后就问了chat果然是自己记错了。。。。。。
#include <iostream>
#include <cstring>
using namespace std;void reverse(char *str) {int n = strlen(str);int Size = n / 2;for (int i = 0; i < Size; i++) {swap(str[i], str[n - 1 - i]);}
}int main() {char str[100]; // Assuming a maximum length of 100 characters
//输入不需要&这个符号while (scanf("%s", str) != EOF) {reverse(str);printf("%s ", str);}return 0;
}
好吧,哈哈哈哈哈。
AC代码
#include <iostream>
#include <cstring>
using namespace std;void deserve(string &str){int n = str.size();int Size = n/2;for(int i=0;i<Size;i++){swap(str[i],str[n-1-i]);}
}int main(){string str;while(cin>>str){deserve(str);cout<<str<<endl;}return 0;
}
事实证明scanf和printf是要比cin和cout快的。