118 条题解

  • -7
    @ 2024-7-23 15:25:02

    Hello, MXOJ!

    这里给大家推荐一种全新的字符串做法。我们可以将 Hello, MXOJ! 的每个字符的 ASCII 码求出并存到一个数组里,再循环输出即可。

    这个问题可以被拆解成两个步骤:求 ASCII 码及输出。

    求 ASCII 码

    首先定义一个字符串 ss ,值为 Hello, MXOJ!

    观察 Hello, MXOJ! ,发现共有 12 个字符,那么数字数组的长度就定义为 12。此外我推荐一个函数:位于 cstring 库中的 size() 函数,它可以直接求出一个字符串的长度。

    如何将 ASCII 码存入数组?我们可以用循环。

    code

    string s="Hello, MXOJ!";
    	int a[s.size()];
    	for(int i=0;i<s.size();i++)a[i]=int(s[i]);
    

    我们得到数组 aa 的值是 {72,101,108,108,111,44,32,77,88,79,74,33}

    输出字符串

    接下来就是输出,我们同样用一个循环依次输出,将 ASCII 码转成字符输出的方法可以是使用 char() 强转,见代码:

    code

    for(int i=0;i<s.size();i++)cout<<char(a[i]);
    

    那么将以上汇总就是这道题的 AC 代码啦!

    最终代码

    #include<iostream>
    #include<cstring>
    using namespace std;
    int main(){
    	string s="Hello, MXOJ!";
    	int a[s.size()];
    	for(int i=0;i<s.size();i++)a[i]=int(s[i]);
    	for(int i=0;i<s.size();i++)cout<<char(a[i]);
    	return 0;
    }
    

    好的,那么 MXOJ 的第一道题你就做出来了。让我们在这个微不足道的起点,向着 OIer 之路进发!

    • @ 2024-7-23 15:27:10

      ~我是不肯写一句 cout<<"Hello, MXOJ!"; 的)))~

信息

ID
1
时间
1000ms
内存
512MiB
难度
1
标签
(无)
递交数
2477
已通过
1210
上传者