PAT乙级 1014 福尔摩斯的约会(超级白痴版)

首先,我真的超级小白,连用ASCII码判断一个字符在不在一个范围里都不懂.....硬是凑了个数组做遍历来判断,于是代码巨长,但因为逻辑没啥错最后还是通过了......(尽管效率要多低有多低)

我一开始是测试点1、2、4没通过,原因是我没注意hour和minite一样也必须两位数字输出,例如1点要输出01。

最后推荐两个我看得懂的C语言版本的代码(有一些我还没学到的什么cout、>>我真的看不懂QAQ,希望未来的我能回来嘲笑现在的我)

1:PAT乙级1014 福尔摩斯的约会(C语言),测试点124错误及解决_打孔员的博客-CSDN博客

2:(PAT乙级)1014 福尔摩斯的约会(C语言实现)_陈粑粑的小白鞋的博客-CSDN博客

然后这个贴的坑点也总结的很好:PAT乙级 1014 福尔摩斯的约会 坑点分享_海木的的博客-CSDN博客

最后贴上我的傻瓜代码让大家笑一笑......

#include<stdio.h>
int main(){
    char a[61];
    char b[61];
    char c[61];
    char d[61];
    scanf("%s%s%s%s",a,b,c,d);
    int i=0;
    char abc[8]={"ABCDEFG"};
    int cnt;
    int n;
    do{
        while(a[i]!=b[i]){
            i++;
        }
        cnt=0;
        for(n=0;n<7;n++){
            if(a[i]==abc[n]){
                cnt++;
            }
        }
        i++; 
    }while(cnt!=1);
    i--; 
    char day[7][4]={"MON","TUE","WED","THU","FRI","SAT","SUN"};
    int m=0;
    while(a[i]!=abc[m]){
        m++;
    }
    printf("%s ",day[m]);
    m=0;
    i++;
    char hour[25]={"0123456789ABCDEFGHIJKLMN"};
    do{
		while(a[i]!=b[i]){
    		i++;
		}
		cnt=0;
		for(n=0;n<24;n++){
			if(a[i]==hour[n]){
				cnt++;
			}
		}
		i++;
	}while(cnt!=1);
	i--;
    while(a[i]!=hour[m]){
        m++;
	}
    char num[10][3]={"00","01","02","03","04","05","06","07","08","09"};
    if(m>=0&&m<=9){
    	printf("%s:",num[m]);
	}else{
		printf("%d:",m);
	}
    i=0;
    char zimu[53]="QWERTYUIOPLKJHGFDSAZXCVBNMmnbvcxzlkjhgfdsapoiuytrewq";
    do{
		while(c[i]!=d[i]){
        	i++;
    	}
    	cnt=0;
    	for(n=0;n<52;n++){
    		if(c[i]==zimu[n]){
    			cnt++;
			}
		}
		i++;
	}while(cnt!=1); 
	i--;
    if(i<10){
        printf("%s",num[i]);
    }else{
        printf("%d",i);
    }
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值