| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1286 人关注过本帖
标题:小白发问,求大佬赐教
只看楼主 加入收藏
cherry梨
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2021-9-16
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
小白发问,求大佬赐教
#include <stdio.h>

int main()
{
    int year,month,day;
    printf("请用标准格式输入一个日期(YYYY_MM_DD):");
    scanf("%d_%d_%d",&year,&month,&day);
    printf("中国日期格式:%d年%d月%d日\n",year,month,day);
    printf("美国日期格式:%d/%d/%d/\n",month,day,year);
    printf("英国日期格式:%d/%d/%d/\n",day,month,year);
    return 0;
}


新人小白发问:若日期输入格式为 YYYYMMDD,且严格按 4 位年、2 位月和 2 位日的宽度进
行输入,不足宽度的需在前面补 0。例如:2018-9-1 的输入格式为 20180901。程序应如
何修改?
搜索更多相关主题的帖子: year printf 格式 输入 日期 
2021-09-16 19:54
自由而无用
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:61
专家分:1456
注 册:2021-8-9
收藏
得分:7 
//online parser: https://www.bccn.net/run/
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define strIN "请用标准格式输入一个日期(YYYY_MM_DD):"
#define strCN(cn) cn"日期格式"
#define strFM(y, m, d) "%s"y"%s"m"%s"d"\n"


typedef char* string;
struct sdate {
    string year;
    string month;
    string day;
};

int main(int argc, char *argv[])
{
    struct sdate vdate;
    argv[0] = "20180901";
    
    strncpy(vdate.year = malloc(5), argv[0], 4);
    strncpy(vdate.month = malloc(2), argv[0] + 4, 2);
    strncpy(vdate.day = malloc(2), argv[0] + 6, 2);
    
    puts(strIN);
    puts(argv[0]);
    printf(strCN("CHN")strFM("(Y)", "(M)", "(D)"), vdate.year, vdate.month, vdate.day);
    printf(strCN("USA")strFM("(M)", "(D)", "(Y)"), vdate.month, vdate.day, vdate.year);
    printf(strCN("UK")strFM("(D)", "(M)", "(Y)"), vdate.day, vdate.month, vdate.year);
    
    return 0;
}
2021-09-16 20:46
自由而无用
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:61
专家分:1456
注 册:2021-8-9
收藏
得分:0 
output sample:
请用标准格式输入一个日期(YYYY_MM_DD):
20180901
CHN日期格式2018(Y)09(M)01(D)
USA日期格式09(M)01(D)2018(Y)
UK日期格式01(D)09(M)2018(Y)
2021-09-16 20:47
diycai
Rank: 8Rank: 8
等 级:贵宾
威 望:19
帖 子:147
专家分:895
注 册:2021-5-18
收藏
得分:7 
#include <stdio.h>

int main()
{
    char date[10];
    int year,month,day;
    printf("请用标准格式输入一个日期(YYYYMMDD):");
    scanf("%s", date);

    year = (date[0]&15)*1000 + (date[1]&15)*100 + (date[2]&15)*10 + (date[3]&15);
    month = (date[4]&15)*10 + (date[5]&15);
    day = (date[6]&15)*10 + (date[7]&15);

    printf("中国日期格式:%d年%d月%d日\n",year,month,day);
    printf("美国日期格式:%d/%d/%d/\n",month,day,year);
    printf("英国日期格式:%d/%d/%d/\n",day,month,year);
    return 0;
}
2021-09-17 12:54
我善治鬼
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:107
专家分:181
注 册:2015-2-16
收藏
得分:7 
程序代码:

#include <stdio.h>

int main()
{
    int year = 2021, month = 9, day = 15;
    printf("中国日期格式:%04d年%02d月%02d日\n", year, month, day);
    printf("美国日期格式:%02d/%02d/%04d/\n", month, day, year);
    printf("英国日期格式:%02d/%02d/%04d/\n", day, month, year);
    return 0;
}


2021-09-17 13:07
快速回复:小白发问,求大佬赐教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016643 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved