C语言printf,%0md的输出,一种补足0的输出方式

2023-05-16

文章目录

  • %0md
  • %md
  • %0md与%md的对比
  • 案例

%0md

printf("%0md", IntNum);

说明:
输出格式为右对齐,字符宽度为m,如果要输出的字符宽度>=m,则全部输出,如果要输出的字符宽度<m,则在左边补足0。

注意:
这种补足0的方式只适用于右对齐。

%md

priintf("%md", IntNum);

说明:
输出格式为右对齐,字符宽度为m,如果要输出的字符宽度>=m,则全部输出,如果要输出的字符宽度<m,则在左边补足空格。

%0md与%md的对比

printf("%04d\n", 12);//0012
printf("%04d\n", 1234);//1234
printf("%04d\n", 12345);//12345
printf("%4d\n", 12);//  12
printf("%4d\n", 1234);//1234
printf("%4d\n", 12345);//12345

案例

链接: 牛客网:出生日期输入输出

Alt

#include<stdio.h>
int main()
{
    int y = 0;
    int m = 0;
    int d = 0;
    while(1)
    {
        scanf("%4d%2d%2d", &y, &m, &d);
        if(y >= 1990 && y <= 2015 &&
           m >= 1 && m <= 12 &&
           d >= 1 && d <= 30)
        {
            break;
        }
        else
        {
            printf("输入错误,请重新输入!!!\n");
        }
    }
    printf("year=%4d\nmonth=%02d\ndate=%02d\n", y, m, d);
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言printf,%0md的输出,一种补足0的输出方式 的相关文章

  • 为什么这段代码会打印两次? [复制]

    这个问题在这里已经有答案了 可能的重复 Linux gcc 中 fork 的工作 https stackoverflow com questions 3513242 working of fork in linux gcc include
  • C99 printf 中的可变前导零

    我正在用 C99 编写一个多精度库 根据编译代码的平台 我选择不同的表示基础 因此 举例来说 假设在平台 X 上系统选择 BASE 100 并且在平台上Y BASE 10000 假设我代表大无符号整数 如下所示 typedef struct
  • 了解 sprintf(...) 的危险

    OWASP http www owasp org index php Buffer Overruns and Overflows says C 库函数 例如 strcpy strcat sprintf 和 vsprintf 对以 null
  • 如何在 C 中使用递归打印星金字塔图案而不使用任何循环?

    我这样做 但它使用的是for环形 我不想要它 include
  • 为什么 String 的 format(Object...args) 定义为静态方法?

    我想知道为什么Java5 及以上版本提供了使用 String 类中的静态方法的 printf 样式格式化程序 如下所示 public static String format String format Object args 代替 pub
  • Xcode 在 C++ 控制台中不显示任何内容

    我只是想将 Xcode 用于一个非常小的 C 项目 并且想看看 控制台中有一些打印 问题是我没有看到任何东西 我尝试运行一个非常简单的代码 include
  • 在 Matlab 中将元胞数组打印为 .txt

    我有一个元胞数组 需要根据特定格式打印在 txt 文件中 我尝试过一些在线帮助 包括matlabcentraldlmcell但即便如此也没有给我想要的答案 分隔符是 t cellarray AAPL 2 20 2011 100 5 MSFT
  • 在 Perl 中我应该使用什么来代替 printf ?

    我需要在 Perl 中使用一些字符串替换来简化翻译 即替换许多 print Outputting n numbers 通过类似的东西 printf Outputting d numbers n 但是 我想用更易于人类解析的内容替换 prin
  • 如何使用 printf 制作“进度条”? [复制]

    这个问题在这里已经有答案了 许多命令行工具都实现基于文本的进度条 就像rpm安装一样 安装 45 the 随着百分比增长 同时保持在单行 我想要的是类似的东西 我需要一个进度指示器只占一行 也就是说 当百分比增长时 它被覆盖 而不是创建一个
  • 避免 printf() 中的尾随零

    我一直在发现 printf 系列函数的格式说明符 我想要的是能够打印小数点后最大给定位数的双精度 或浮点数 如果我使用 printf 1 3f 359 01335 printf 1 3f 359 00999 I get 359 013 35
  • C 中的类型转换会变得香蕉吗? [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 看来 C 和我对这里的预期输出存在分歧 I have struct r struct int r i float r f
  • JavaScript 相当于 printf/String.Format

    我正在寻找一个与 C PHP 相当的 JavaScriptprintf 或者对于 C Java 程序员来说 String Format IFormatProvider对于 NET 我的基本要求是目前数字的千位分隔符格式 但处理大量组合 包括
  • 使用 ncurses 处理转义序列? printf 是否处理转义序列?

    我的程序从网络读取一些文本数据 例如 Hello 033 1 34mworld 033 0m and bla bla bla n 当程序使用prinf输出该字符串时 world 一词是蓝色的 但是当我将 ncurses 接口与 wprint
  • 在 MATLAB 中使用 sprintf 显示变量的小数

    我不明白接下来会发生什么sprintf http www mathworks se help techdoc ref sprintf html命令 gt gt vpa exp 1 53 ans 2 718281828459045534884
  • 从 Visual Studio 的哪个版本开始 vsnprintf 基本上符合标准?

    根据微软的文档vsnprintf https msdn microsoft com en us library 1kt27hek aspx 至少从 2003 版 Visual Studio 开始 该函数就是 C 运行时库的一部分 int v
  • 仅使用 fprintf 和 fscanf 替换文本文件中的字符串

    抱歉问这么简单的问题 这是我作业的一部分 我被困住了 如你看到的 include
  • 使用 OpenMP 时无用的 printf 没有加速

    我刚刚编写了第一个 OpenMP 程序 它并行化了一个简单的 for 循环 我在双核机器上运行代码 发现从 1 个线程变为 2 个线程时速度有所提高 然而 我在学校 Linux 服务器上运行相同的代码并没有看到加速 在尝试了不同的事情之后
  • fprintf 调试断言失败

    我有一个程序 如果我手动启动它 它可以正确运行 但是 如果我尝试添加注册表项以在启动过程中自动启动它 则会收到以下错误 Debug assertion failed str null fprintf c line 55 我尝试在发生任何事情
  • C++ 的 String.Format

    正在寻找 NET 的 String Format 等函数的 C 实现 显然有 printf 及其变体 但我正在寻找具有位置的东西 如下所示 String Format 您好 0 您是 1 岁 感觉如何 1 姓名 年龄 这是必要的 因为我们将
  • java中%%是什么意思?

    我是一名 PHP 程序员 想知道这行代码的含义 System out printf exp 3f is 3f n x Math exp x 3f 3f n 和逗号 x 是什么意思 它与C类似printf http java sun com

随机推荐