책을펴도
2시간째
고민을 해봐도
엄두조차 못내고 있어 형들..
지식인 마저 버렸어... 나를
믿을건 이제 디시형들밖에 없어서
최종보스를 찾아왔어
디씨형들마저 나 버리면
나 과제 망해 ..ㅠ
돠줘요 형들
문제는
입력: 여러 줄의 문장을 입력 받는다.
출력: 몇 줄을 읽었는지, 모든 문장에서 몇 개의 단어가 들어 있었는지
개수를 프린트 한다.
처리: 문장에 사용하는 부호(period ‘.’, ‘?’, ‘!’ 등)는 단어에서
제외한다.
샘플 및 수행방식이라고 합니다
여러 줄 입력을 위해서는 다음과 같은 파일을 만드세요. in.txt
그리고 그 안에 노트패드로 여러 줄 영어 문장을 넣으세요. (한글을 넣으면 안됩니다)
그 후 여러분의 프로그램이 a.exe라면 다음과 같이 수행해 보세요.
a.exe < in.txt
그러면 여러 줄을 읽게 될 겁니다.
첨부에 제가 작성한 여러분들의 파일 이름을 읽어서 스크립트를 만드는 프로그램 입니다.
#include <stdio.h>
#include <string.h>
int main(void)
{
char s[20];
char e[5] = \".exe\";
char p[10] = \" < in.txt\";
int i, c, k;
while (gets(s) != NULL)
{
if (strstr(s,e) != NULL)
{
printf(\"echo \\\"\\\"\\n\");
printf(\"echo \\\"%s\\\"\\n\",s);
puts(strcat(s,p));
}
}
}
라고 올려뒀는데
나 나름 c언어 잘 배우고 따라왔는데
문제 조차 파악이 안돼...
도와줘 형들 ㅠㅠ
잘 배운 적도 없고 따른 적도 없구나
한 번에 한 줄 읽는 함수는 있고, 거기서 문자배열에서 공백 찾으면 띄어쓰기 한 횟수가 나오겠지
http://codepad.org/1AyEe8Hb
쳐먹어
#include <stdio.h>int main(){ int lines=0, words=0; char c; bool priv_white_space = true; while ((c=getc()) != EOF) { if (c==\'\\n\') { lines++; } if(priv_white_space) { if (c==\'.\' || c==\'?\' || c==\'!\' || c==\' \') { if (!priv_white_space) { words++; } priv_white_space = true; } else { priv_white_space = false;