현재 워드 카운팅 프로그램을 사용 중입니다. 그리고 난 운동이 힘들어.
나는이 운동이 내가 원하는 것을 정확히 이해할 수 없다. 여기 C 프로그래밍 K & R 연습 문제 1-11
문자로 시작 예를 들어, 운동 자체
개정의 더 나은 정의를 사용하는 단어 계산 프로그램 "단어를", 문자, 숫자 및 아포스트로피의 순서
내가 무엇을 얻을 캔트 그것은 실제로 원합니다. 그것은 제가 기호 숫자 아포스트로피 또는 에테르를 계산하기를 원하기 때문에 "단어"와 같은 모든 기호 기호의 이름을 넣기를 원합니다 - A(") word comma(,) A(")
또는 그 밖의 것이 있습니다.
이 선, 문자, 새로운 라인
#include <stdio.h>
#define YES 1
#define NO 0
main()
{
// CTRL+Z will Signal to EOF-End of File
int c,nl,nw,nc,inword; //nl -new line
//nw -new word
//nc -new chatacter
//inword -program in word or not
inword=NO;
nl=nw=nc=0;
while ((c=getchar()) !=EOF)
{
++nc;
if (c == '\n')
++nl;
if (c == ' ' || c == '\t' || c == '\n')
inword=NO;
else if (inword==NO)
{
inword=YES;
++nw;
}
}
printf("%d %d %d\n", nl,nw,nc);
getchar();
}
를 계산 프로그램은 너희들이 실제로 운동은 내가 무엇을 원하는 나에게 설명 할 수있다? 이미 완전한 코드가 필요하지 않습니다. 나 자신을 코딩을 통해 가야겠다. 나는 운동에서 실제로해야 할 것을 얻지 못한다.
당신이 언급 한 단어 집계 프로그램을 보았습니까? – Barmar
이전 운동과 관련하여 단어의 정의를 향상 시키길 원합니다. 예를 들어 사전을 사용하여 실제 단어와 일치 시키거나 3 자 미만의 단어를 무시하거나 숫자가있는 단어를 무시할 수 있습니다. – perreal
아마도 a + b (공백 없음)는 1보다는 2 단어 (또는 문자, 숫자 및 아포스트로피로 구성되지 않기 때문에 0 일 수도 있음)로 간주해야하거나, a + b (공백 포함)을 3 단어가 아닌 2 단어로 사용하십시오. 아포스트로피뿐만 아니라 하이픈에 대해서도 생각해보십시오. –