本文共 1498 字,大约阅读时间需要 4 分钟。
https://vjudge.net/contest/214769#overview
18.3.8
多试试.....多试试重复的数据搞进去看一看...还有两个样例的话正反都要试试吧...指不定哪儿没初始化而且我!而且我break和continue非常的不可描述(对)多试试HDU1235 学生分数统计...及时整理吧...真的是反正就是不要心急,不要把cnt直接写在题里面就没了....比如你排序完, if (a[i] != search && q1)别急着输出啊....重要的是bool而不是你想的判定条件...比如你数字是最后一个,怎么输出呢对不对,所以别太心急ojbk HDU1401 18岁生日这个坑真的是....1. for (int i = y; i < y + 18; i++) { 这样y才是18,不然多了等号是19...2.我调试的时候为什么又不对了?我想着3-1和2-27我都验证一下...调试对了,但是输入却错了,为什么?以前也可能会有这种情况.. 因为!!因为犯懒了年份输入的不对!!!!年份!!年份可是后面判断闰年的条件啊啊啊啊这点小东西上还是不要再省着了!!3.if(month>=3) 等号4.太心急了当时想着如果2-29不就没生日了吗 怎么办dalao们肯定想的到的 不可能没说名啊 所以怎么办其实,..其实题里面写了这个时候输出负一,亏死了啊5.输出格式问题..two are 分隔开by a blank line这个意思是两个答案之间有一行空格的意思.....不是换行是两个答案之间多了一个空格ok"最后我不知道字母也打错了几个"完全不用这样..谁给你的勇气???其实用ASCII绝对可以解决.....就是我的过程麻烦了..**小坑(新)**标点,标点,意识到有空格就要有标点....if (i<=97||i>=122)continue;这个...*****所以说!!!!样例试试,样例过了吗????***天啊!我最后竟然还是卡在输出问题上!!!!!就是是'\n'输出的时候跳出循环这里还有一个i存在.....多写个continue你会死啊???还是判断的时候考虑周全,最后输出的时候两种情况要相接起来.....然后ASCII 我的核心思路是这样的:i = c;//真的可以强制转换..... 把他强制转换成int的??? if (i<97||i>122)continue;//哈哈哈哈哈哈哈如果是标点符号先让我笑一会儿 i = i - 96; a[i]++;直接把int换成i就可以.... 97-122之间 c给i就OK了y= i + 96;// 1+96是97ASCII是a吧 c = y;//然后再把i给 cout << c;因为差了这么多啊... i+96是97吧直接y是int,c是char,c=y ojbk好我们来看看别人写的... if(str[i]>='a'&&str[i]<='z') { int t=str[i]-'a'; num[t]++; } } ....完美解决后顾之忧....并且,用gets(str)是读入一行的....就又把\n给解决了,strlen printf("%c:%d\n",let[i],num[i]);(哪怕是let里面*26也好啊)或者,,,,,printf("%c:%d\n",'a'+i,count[i])不就解决了么!printf甚至可以%c%d混着啊啊啊啊!!!输出的时候一定要注意上下的链接!!ojbk转载地址:http://mmuti.baihongyu.com/