怎么改写成08,06

img

img


这种改如何表示单个数字前面的0,谢谢大家积极解决我的问题,请大家看看

格式化输入和输出即可

printf("%d-%02d-%02d")表示不足两位补前缀0

#include<stdio.h>

#include<string.h>

int main()
{
    char str[20] = { '\0'};
    char p[20] = {'\0'};
    gets(str);
    int s = 0;
    int mark;
    int i = 0;


    for (int j = 0; j < sizeof(str) + 1; j++)
    {
        if (str[j] == '-')
        {
            s++;
        }


        if (s == 2)
        {
            mark = j;
            break;
        }
    }


    for (int k = mark + 1; k < strlen(str) ; k++)
    {
        p[i++] = str[k];
    }


    p[i++] = '-';


    for (int k = 0; k < mark; k++)
    {
        p[i++] = str[k];
    }


    p[i] = '\0';
    printf("%s", p);
    getchar();

return 0;

}

printf("%02d-%02d",g,f);
printf("%.2d-%.2d",g,f);

你试下在d前面加02,或者.2