首页 > 其他分享 >论输出 hello world 的N种方法...

论输出 hello world 的N种方法...

时间:2023-10-06 20:15:45浏览次数:31  
标签:std ... string int char characters world include hello

RT

第1种:

#include<bits/stdc++.h>
using namespace std;
int main() 
{
    cout << "Hello,World!" << endl;
    return 0;
}

第2种:

#include <iostream>
#include <string>
#include <vector>
#include <map>
#include <iterator>
#include <algorithm>

int main() {
    std::map<char, std::vector<std::string>> characters;

    characters['H'] = {"*   *", "*   *", "*****", "*   *", "*   *"};
    characters['e'] = {"*****", "*    ", "*****", "*    ", "*****"};
    characters['l'] = {"*    ", "*    ", "*    ", "*    ", "*****"};
    characters['o'] = {"*****", "*   *", "*   *", "*   *", "*****"};
    characters[','] = {"      ", "      ", "      ", "  **  ", " **   "};
    characters[' '] = {"      ", "      ", "      ", "      ", "      "};
    characters['W'] = {"*   *", "*   *", "*****", "* * *", "*   *"};
    characters['r'] = {"* *  ", "*  * ", "*  * ", "* *  ", "*   *"};
    characters['d'] = {"     ", "     ", "*****", "*   *", "*****"};

    std::string hello = "Hello, World!";

    for (int i = 0; i < 5; ++i) {
        for (char c : hello) {
            std::vector<std::string> lines = characters[c];
            for (const std::string& line : lines) {
                std::cout << line << "  ";
            }
        }
        std::cout << std::endl;
    }

    return 0;
}

第3种:

#include <iostream>
#include <string>

// 凯撒密码加密函数
std::string caesarCipher(const std::string& text, int shift) {
    std::string encryptedText = "";
    for (char c : text) {
        if (isalpha(c)) {
            char base = (isupper(c)) ? 'A' : 'a';
            encryptedText += char(((c - base + shift) % 26) + base);
        } else {
            encryptedText += c;
        }
    }
    return encryptedText;
}

int main() {
    std::string message = "Hello, World!";
    int shift = 3;  // 替换的位移量

    std::string encryptedMessage = caesarCipher(message, shift);

    std::cout <<  encryptedMessage << std::endl;

    return 0;
}

第4种:

#include <iostream>
#include <string>

int main() {
    std::string greeting = "Hello, World!";
    for (int i = 0; i < greeting.length(); ++i) {
        char character = greeting[i];
        for (int j = 0; j < 8; ++j) {
            int bit = (character >> (7 - j)) & 1;
            if (bit) {
                std::cout << "*";
            } else {
                std::cout << " ";
            }
        }
        std::cout << std::endl;
    }
    return 0;
}

第5种:

#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>

void say() {
    puts("Hello world!");
    exit(0);
}

int main() {
    volatile intptr_t a = 0;
    volatile intptr_t * p = &a;

    *(p + 2) = (intptr_t)say;
    *(p + 3) = (intptr_t)say;

    return 0;
}

第6种:

#include <stdio.h>

void alien_say(char * p) {
    while (putchar(*(p += *(p + 1) - *p)));
}

int main() {
    return alien_say("BETHO! Altec oh liryom(a loadjudas!) dowd."), 0;
}

未完待续

 

标签:std,...,string,int,char,characters,world,include,hello
From: https://www.cnblogs.com/Shixuanbin/p/17744914.html

相关文章

  • 五年Android开发,在Boss上投了十几个简历,没有一个面试邀请......药丸了
    之前在浏览某论坛时,看到一名程序员发表了如下的吐槽:“坐标杭州,工作五年的Android开发者,技术水平尚可,但最近这边加班太严重了,考虑换一个岗位。然而,在Boss上投了十几个简历,完全没有合适的面试机会。简历是公开的,竟然没有一个公司对我感兴趣。相比之下,前年这个时候,电话邀约面试的电话......
  • hello Flask最简单的Flask项目
    #1、导包fromflaskimportFlask#2、实例化Flask对象。一般变量名都叫app,大家都是这样用,很多扩展插件的文档也是叫app,所以统一都叫app。#__name__是告诉Flask对象当前文件所在的目录就是项目目录。后续的静态文件夹和模板文件都是在基于项目目录下寻找的。app=Flask(__......
  • CF666B World Tour
    WorldTourの传送门\(4\len\le3000\)说明可以用\(n^2\)的做法,题目要求\(4\)个点的最短路最长,共\(3\)条路经,则枚举\(2\)个点。如果枚举\(a,c\),则要找\(b,d\),但\(b\)和\(c\)也要判断路径,比较麻烦,所以直接枚举\(b,c\)。然后枚举\(b,c\)对应的最短路......
  • IntelliJ 中的 Hello World
    你已经下载了IntelliJ,我们现在来看看如何使用它。下面是在IntelliJ中创建 Helloworld 程序的文本说明!1.打开IntelliJ第一次打开IntelliJ时,你将看到一个这样的欢迎界面和选项,可以利用这些选项创建一个新项目、导入或打开一个项目。我们来开始一个新项目,选择创建新项目......
  • golang grom 实现 INSERT...ON DUPLICATE KEY UPDATE
    内容来自对chatgpt的咨询前言(INSERT...ONDUPLICATEKEYUPDATE介绍)当你在MySQL中插入数据,如果唯一键发生冲突,可以使用INSERT...ONDUPLICATEKEYUPDATE语句实现插入和更新操作。其基本语法如下:INSERTINTOtable(col1,col2,...colN)VALUES(value1,value2,...va......
  • maven 编译.../maven-metadata.xml 报错
    问题突然编译报错:解决打开maven的里离线工作模式,感觉就是下载包到本地.一个是在maven设置里面或者直接在maven编译的窗口:......
  • LOJ 6479 [ICPC World Finals 2017] 小小水管工 Son of Pipe Stream 题解
    更好的阅读体验题意原题链接给出\(n\)个城市和\(m\)条双向管道,以及两个实数\(v\)和\(a\)。有两种液体,分别是水和Flubber(下面简写为W和F)。\(1\)号和\(2\)号城市分别生产Flubber和水,并通过管道流入\(3\)号城市。对于一条管道,其中可以同时存在两种液体,但是方向......
  • uniapp自动引入Vue3(ref,reactive...)的API、uniapp生命周期和封装hooks
    未自动导入Vue3(ref,reactive...)的API和uniapp生命周期,需要在每个页面把API和uniapp生命周期的代码都重复写一遍<scriptsetup>import{ref,reactive}from"vue"import{onLaunch,onShow,onHide}from'@dcloudio/uni-app'//封装的hooksimport{useLi......
  • Node.js vs. Spring Boot:Hello World 性能对决,谁更快一点?
    前言:SpringBoot在Java生态中备受欢迎,它是一款基于Java构建的轻量级服务端框架,主要用于Web服务。SpringBoot的应用使得创建各类基于Spring的企业级应用变得异常简单。Node.js作为一种基于ChromeV8引擎的JavaScript运行时环境,在服务端上运行JavaScript代码。它以其独......
  • Node.js vs. Spring Boot:Hello World 性能对决,谁更快一点?
    前言:SpringBoot在Java生态中备受欢迎,它是一款基于Java构建的轻量级服务端框架,主要用于Web服务。SpringBoot的应用使得创建各类基于Spring的企业级应用变得异常简单。Node.js作为一种基于ChromeV8引擎的JavaScript运行时环境,在服务端上运行JavaScript代码。它以其独特......