czb08191314 2023-09-01 03:30 采纳率: 88.5%
浏览 2
已结题

c语言pat基础题0901L1075

img

img


#include<stdio.h>
int main(){
    int number,front,rear,flag;
    scanf("%d",&number);
    if(number/10000>0){
        front=number/100;
        rear=number%100;
        if(rear<=9){
            printf("%d-0%d",front,rear);
        }else{
            printf("%d-%d",front,rear);
        }
    }else{
        front=number/100;
        rear=number%100;
        if(front<22){
            flag=20;
        }else{
            flag=19;
        }
        if(rear<=9&&front<=9){
            printf("%d0%d-0%d",flag,front,rear);
        }else if(rear>9&&front<=9){
            printf("%d%d-%d",flag,front,rear);
        }else if(rear<=9&&front>9){
            printf("%d%d-0%d",flag,front,rear);
        }else{
            printf("%d%d-%d",flag,front,rear);
        }
    }
}

我的代码出现问题,本题希望可以得到大家的指导,谢谢你的帮助!

  • 写回答

3条回答 默认 最新

  • qzjhjxj 2023-09-01 10:38
    关注

    修改如下,供参考:

    #include <stdio.h>
    int main() 
    {
        int n = 0, a, b;
        scanf("%d", &n);
        if (n / 1000 < 10) {
            a = n / 100;
            b = n % 100;
            if (a < 22) 
                printf("20%02d-%02d", a, b);
            else 
                printf("19%02d-%02d", a, b);
        }
        else {
            a = n / 100;
            b = n % 100;
            printf("%02d-%02d", a, b);
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月2日
  • 已采纳回答 9月2日
  • 创建了问题 9月1日

悬赏问题

  • ¥60 怎样隐藏win7系统进程?
  • ¥15 CBF预处理数据归一化的时候报错了如下图
  • ¥15 qt 转 msvc 后 Opencv 始终打不开视频!
  • ¥15 yolo v5中labelimg的作用
  • ¥15 国赛c题2021,没有理解这一串代码的意思,这样报错该怎么解决(语言-matlab)
  • ¥15 一、执行完中断程序后如何继续运行,二、中断结束后如何跳过中断触发前的点位(LOW点不要继续运行,可以运行UP点)(关键词-程序运行)
  • ¥15 if为什么跳过if 直接执行else 中文
  • ¥200 解决登录微信老版本限制封号问题
  • ¥15 mysql中时间处理问题
  • ¥20 讲解此音频放大电路原理及关键部分