以下是我的 code
#include <stdio.h>
#include <string.h>
#define STRLEN 100000
int main(void)
{
char str[STRLEN];
char *ptr;
char *ptr2;
int count = 0;
memset(str, '\0', STRLEN);
while(fgets(str, STRLEN, stdin) != NULL)
{
ptr = strchr(str, ' ');
while(ptr != NULL)
{
ptr = ptr + 1;
if(*ptr >='A' && *ptr <='Z' || *ptr >='a' && *ptr <='z')
count++;
ptr2 = strchr(ptr, ' ');
if(ptr2 == NULL){
break;
}
ptr = ptr2;
}
count++;
if(strlen(str) <= 0)
count = 0;
printf("%d\n", count);
count = 0;
memset(str, '\0', STRLEN);
}
return 0;
}
我的想法是去計算空白數
因為字是用空白隔開
所以字數應該是空白數加 1
有考慮到空白後面沒有東西
但是在這個 case 的時候就我的答案跟系統答案比較
我的答案少兩個
請各位高手幫我看一下,謝謝。
以下是我的 code
#include
#include
#define STRLEN 100000
int main(void)
{
char str[STRLEN];
char *ptr;
char *ptr2;
int count = 0;
memset(str, '\0', STRLEN);
while(fgets(str, STRLEN, stdin) != NULL)
{
ptr = strchr(str, ' ');
while(ptr != NULL)
{
ptr = ptr + 1;
if(*ptr >='A' && *ptr <='Z' || *ptr >='a' && *ptr <='z')
count++;
ptr2 = strchr(ptr, ' ');
if(ptr2 == NULL){
break;
}
ptr = ptr2;
}
count++;
if(strlen(str) <= 0)
count = 0;
printf("%d\n", count);
count = 0;
memset(str, '\0', STRLEN);
}
return 0;
}
我的想法是去計算空白數
因為字是用空白隔開
所以字數應該是空白數加 1
有考慮到空白後面沒有東西
但是在這個 case 的時候就我的答案跟系統答案比較
我的答案少兩個
請各位高手幫我看一下,謝謝。