您的位置:首页 > 其它

PAT.1014.福尔摩斯的约会 (20)

2018-04-05 14:51 281 查看
第一次碰到段错误- -也是涨了见识
这道题弄了两天 查了一些答案感觉非常非常膜。。
碰到了无数问题和大坑= =长见识+10000086#include <iostream>
using namespace std;
#define N 61

int main()
{
int i,j,t;
char k,w;
char str1
,str2
,str3
,str4
;
scanf("%s%s%s%s",str1,str2,str3,str4);

for(i=0;str1[i]&&str2[i];i++)
{
if(str1[i]==str2[i]&&str1[i]>'A')
{
k=str1[i];
switch(k)
{
case 'A':cout<<"MON"<<" "; break;
case 'B':cout<<"TUE"<<" "; break;
case 'C':cout<<"WED"<<" "; break;
case 'D':cout<<"THU"<<" "; break;
case 'E':cout<<"FRI"<<" "; break;
case 'F':cout<<"SAT"<<" "; break;
case 'G':cout<<"SUN"<<" "; break;
}break;
}
}

for(j=i+1;str1[j]&&str2[j];j++)
{
if(str1[j]==str2[j])
{
w=str1[j];
if(w>='A'&&w<='N')
{
printf("'%s'-'A'+10",w);
break;
}

if(w>='0'&&w<='9')
{
if(j<=9)
printf("0%d:",j);
else
printf("%d:",j);
break;
}
}
}

for(t=0;str3[t]&&str4[t];t++)
{
if(str3[t]==str4[t]&&str3[t]>'a')
{
if(t>9)
printf("%d",t);
else
printf("0%d",t);
break;
}
}
}感觉N定义成61是不是有些小 遂改成100 然后内存错误……

//一个非常棘手的问题是怎么在判断小时的时候把第一个跳过去 一个小时过去了还没有解决- -

关于解决输出星期之后跳出循环的问题,有两种方法:
1.把星期小时写在同一个for循环中……这个我已经懂了
2.星期小时分别写,小时的j从i+1之后开始
一直用的是2的思路写的,然后发现别人用的方法我在这用就怎么都过不去……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: