ACM 简单算法总是answer wrong
这个题目是UVAOJ上的494,提交了很多遍,感觉也可以得到正确的结果,可是总是answer wrong,麻烦大家给看看,谢了!
下面是我写的一小段代码,请大家多多指教。
char buf[100];
void counting_game(void)
{
int length,i,count=0;
memset(buf,0,100);
while(fgets(buf,100,stdin) != NULL)
{
length = strlen(buf);
for(i=0;i<length-1;i++)
{
if((buf[i]>='a' && buf[i]<='z') || (buf[i]>='A' && buf[i]<='Z'))
{
if((buf[i+1]>='a' && buf[i+1]<='z') || (buf[i+1]>='A' && buf[i+1]<='Z'))
continue;
else
count++;
}
}
if(count < 1)
continue;
printf("%d\n",count);
memset(buf,0,100);
count = 0;
}
}
int main(void)
{
counting_game();
return 0;
}
[解决办法]
楼主没给题目,
之前做过的AC代码,看看有什么不同
// 494 Kindergarten Counting Game
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
int main()
{
char str[100000];
int num = 0;
int i;
while (fgets(str, sizeof(str), stdin) != NULL) {
num = 0;
for (i = 0; i < strlen(str)-1; ++i) {
if (isalpha(str[i]) && !isalpha(str[i+1]))
++num;
}
printf("%d\n", num);
}
return 0;
}