C++ 3.25作业

1、定义自己的命名空间,其中有string类型的变量,再定义两个函数,一个函数完成字符串的输入,一个函数完成求字符串长度,再定义一个全局函数完成对该字符串的反转

cpp 复制代码
#include <iostream>

using namespace std;

namespace DX
{
    string s1;
    string fun_in(string s1);
    void fun_length(string s1);
}
using namespace DX;

string DX::fun_in(string s1)
{
    cout << "请输入字符串:" ;
    getline(cin,s1);
    return s1;
}

void DX::fun_length(string s1)
{
    cout << "字符串长度为:" << s1.length() << endl;
}

void fun_swap(string s1)
{
    char temp = 0;
    int len = s1.size();
    int i = 0;
    while(i < (len-1-i))
    {
        temp = s1.at(i);
        s1.at(i) = s1.at(len-1-i);
        s1.at(len-1-i) = temp;
        i++;
    }
    cout << "反转后的字符串为:" << s1 << endl;
}

int main()
{
    string s1 = fun_in(DX::s1);
    cout << s1 << endl;
    fun_length(s1);
    fun_swap(s1);
    return 0;
}

2、思维导图

3.有以下定义,说明哪些量可以改变哪些不可以改变?

①const char *p; p的指向可以修改,p指针指向的内容不可以修改

②const (char *) p; 和1一样,p的指向可以修改,p指针指向的内容不可以修改

③char *const p; p指针指向的内容可以修改,p的指向不可以修改

④const char* const p; p的指向和p指向的内容都不可以修改

⑤char const *p; 和1一样,p的指向可以修改,p指针指向的内容不可以修改

⑥(char *) const p; 和3一样,p指针指向的内容可以修改,p的指向不可以修改

⑦char const* const p; p的指向和p指向的内容都不可以修改

相关推荐
甄心爱学习8 分钟前
【python】获取所有长度为 k 的二进制字符串
python·算法
iAkuya21 分钟前
(leetcode)力扣100 76数据流的中位数(堆)
算法·leetcode·职场和发展
键盘鼓手苏苏43 分钟前
Flutter for OpenHarmony: Flutter 三方库 ntp 精准同步鸿蒙设备系统时间(分布式协同授时利器)
android·分布式·算法·flutter·华为·中间件·harmonyos
福大大架构师每日一题1 小时前
go-zero v1.10.0发布!全面支持Go 1.23、MCP SDK迁移、性能与稳定性双提升
开发语言·后端·golang
董董灿是个攻城狮1 小时前
AI 视觉连载5:传统 CV 之均值滤波
算法
多恩Stone1 小时前
【3D-AICG 系列-11】Trellis 2 的 Shape VAE 训练流程梳理
人工智能·pytorch·算法·3d·aigc
抓饼先生1 小时前
iceoryx编译和验证
linux·c++·零拷贝·iceoryx
王老师青少年编程1 小时前
2020年信奥赛C++提高组csp-s初赛真题及答案解析(阅读程序第2题)
c++·题解·真题·初赛·信奥赛·csp-s·提高组
五阿哥永琪1 小时前
1. 为什么java不能用is开头来做布尔值的参数名,会出现反序列化异常。
java·开发语言
lintax2 小时前
计算pi值-积分法
python·算法·计算π·积分法