C++基础输出printf

文章目录

  • 正题开始
  • 用好printf,搞定输出格式
  • 练习题
    • 第一个C++程序
    • 输入输出练习之第二个数字
    • 输入输出练习之格式控制
    • 输入输出练习之精度控制1
    • 输入输出练习之精度控制2
    • 输入输出练习之精度控制3
    • 输入输出练习之浮点数专题
    • 输入输出练习之输出图案
    • 字符菱形
    • 超级玛丽游戏

今天开一个新坑,之前学习总是半途而废,眼高手低,不是不想写就是不想学…只能说加油、继续、为了部落…

正题开始

先立个flag,争取每周一篇。
之后所有代码为C++

用好printf,搞定输出格式

用法 含义
%a(%A) 浮点数、十六进制数字和p-(P-)记数法(C99)
%c 字符
%d 有符号十进制整数
%f 浮点数(包括float和double)
%e(%E) 浮点数指数输出[e-(E-)记数法]
%g(%G) 浮点数不显无意义的零"0"
%i 有符号十进制整数(与%d相同)
%u 无符号十进制整数
%o 八进制整数 e.g. 0123
%x(%X) 十六进制整数0f(0F) e.g. 0x1234
%p 指针
%s 字符串
%n 不会打印任何东西。 这个参数必须是一个有符号整数的指针,它存储它出现之前打印的所有字符数。(常用于格式化输出漏洞中,改写内存地址)
%% “%”

还有一些奇技淫巧,参考文件<你可能不知道的printf用法>

练习题

一下联系均来自于https://www.dotcpp.com/

第一个C++程序

屏幕输出一行Hello, World!

#include
using namespace std;
int main(){
    printf("%s","Hello, World!\n");
    return 0;
} 

输入输出练习之第二个数字

练习输入输出,这里会输入三个整数,要求只输出第二个数字来!

#include
using namespace std;
int main(){
    int a[3];
    for (size_t i = 0; i < 3; i++)
    {
        cin >> a[i];
    }
    printf("%d\n",a[1]);
    return 0;    
} 

输入输出练习之格式控制

依旧是输入三个整数,要求按照占8个字符的宽度,并且靠左对齐输出

#include
using namespace std;
int main(){
    int a[3];
    for (size_t i = 0; i < 3; i++)
    {
        cin >> a[i];
    }
    for (size_t i = 0; i < 3; i++)
    {
        printf("%-8d",a[i]);
    }
    printf("\n");
    return 0;
    
} 

输入输出练习之精度控制1

输入一个单精度浮点数,输出保留三位小数输出

#include
using namespace std;
int main(){
    float a=0.0;
    cin >> a;
    printf("%.3f\n",a);
    return 0;
} 

输入输出练习之精度控制2

输入一个双精度浮点数,保留12位小数输出

#include
using namespace std;
int main(){
    double a=0.0;
    cin >> a;
    printf("%.12f\n",a);
    return 0;
} 

输入输出练习之精度控制3

输入一个字符,一个数字,一个单精度浮点数,一个双精度浮点数,按顺序输出它们四个且数字指定占4个字符宽靠右对齐,单精度浮点数保留2位小数,双精度保留12位小数,占一行输出、空格分隔

#include
using namespace std;
int main(){
    char c;
    int i;
    float f;
    double d;
    cin >> c >> i >> f >> d;
    printf("%c %4d %.2f %.12f\n",c,i,f,d);
    return 0;
} 

输入输出练习之浮点数专题

输入一个双精度浮点数,输出这个浮点数的%f结果、保留5位小数的结果、%e、%g格式的结果

#include
using namespace std;
int main(){
    double a;
    cin >> a ;
    printf("%f\n",a);
    printf("%.5f\n",a);
    printf("%e\n",a);
    printf("%g\n",a);
    return 0;
} 

输入输出练习之输出图案

输入一个字符,输出由这个字符组成等腰三角形底为5个,高为3个。

#include
using namespace std;
int main(){
    char a;
    cin >> a ;
    printf("  %c\n",a);
    printf(" %c%c%c\n",a,a,a);
    printf("%c%c%c%c%c\n",a,a,a,a,a);
    return 0;
} 

字符菱形

给定一个字符,用它构造一个对角线长5个字符,倾斜放置的菱形。

#include
using namespace std;
int main(){
    char a;
    cin >> a ;
    printf("  %c\n",a);
    printf(" %c%c%c\n",a,a,a);
    printf("%c%c%c%c%c\n",a,a,a,a,a);
    printf(" %c%c%c\n",a,a,a);
    printf("  %c\n",a);
    return 0;
} 

超级玛丽游戏

超级玛丽是一个非常经典的游戏。请你用字符画的形式输出超级玛丽中的一个场景。

#include
using namespace std;
int main(){
    puts("                ********                                                                                       ");
    puts("               ************                                                                                    ");
    puts("               ####....#.                                                                                      ");
    puts("             #..###.....##....                                                                                 ");
    puts("             ###.......######              ###                 ###           ###           ###                 ");
    puts("                ...........               #...#               #...#         #...#         #...#                ");
    puts("               ##*#######                 #.#.#               #.#.#         #.#.#         #.#.#                ");
    puts("            ####*******######             #.#.#               #.#.#         #.#.#         #.#.#                ");
    puts("           ...#***.****.*###....          #...#               #...#         #...#         #...#                ");
    puts("           ....**********##.....           ###                 ###           ###           ###                 ");
    puts("           ....****    *****....                                                                               ");
    puts("             ####        ####                                                                                  ");
    puts("           ######        ######                                                                                ");
    puts("##############################################################              ################################## ");
    puts("#...#......#.##...#......#.##...#......#.##------------------#              #...#......#.##------------------# ");
    puts("###########################################------------------#              ###############------------------#");
    puts("#..#....#....##..#....#....##..#....#....#####################              #..#....#....#####################");
    puts("##########################################    #----------#                  ##############    #----------#    ");
    puts("#.....#......##.....#......##.....#......#    #----------#                  #.....#......#    #----------#   ");
    puts("##########################################    #----------#                  ##############    #----------#    ");
    puts("#.#..#....#..##.#..#....#..##.#..#....#..#    #----------#                  #.#..#....#..#    #----------#    ");
    puts("##########################################    ############                  ##############    ############    ");
    return 0;
} 

你可能感兴趣的:(语言基础学习,C++语言,c++,开发语言)