考研算法38天:反序输出 【字符串的翻转】

题目

题目收获

很简单的一道题,但是还是有收获的,我发现我连scanf的字符串输入都忘记咋用了。。。。。我一开始写的

cpp 复制代码
#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果然是自己记错了。。。。。。

cpp 复制代码
#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代码

cpp 复制代码
#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快的。

相关推荐
ALex_zry1 分钟前
C++26 std::complex 结构化绑定详解:auto [re, im] = c
c语言·开发语言·c++
EAI-Robotics34 分钟前
机器人操作鲁棒性:当机械手遇上真实世界的不确定性
人工智能·算法·机器人
Tairitsu_H1 小时前
[LC优选算法#17] 链表 | 合并 K 个升序链表 | K个⼀组翻转链表
数据结构·算法·链表
_olone1 小时前
Luogu P2704 [NOI2001] 炮兵阵地
c++·算法·状压dp
c238562 小时前
互斥锁高频面试题全解:从基础概念到底层实现,一文通关
java·c++·面试·职场和发展
nianniannnn2 小时前
c++复习自存--继承
开发语言·c++
kebidaixu2 小时前
两轮BMS 防打火策略详解
算法
wabs6663 小时前
关于动态规划【力扣1035.不相交的线和53.最大子数组和的思考】
算法·leetcode·动态规划
退休倒计时3 小时前
【每日一题】LeetCode 199. 二叉树的右视图 TypeScript
算法·leetcode·typescript
可编程芯片开发3 小时前
通过MATLAB实现PID控制器,积分分离控制器以及滑模控制器
算法