728x90
-파일 입출력 사용
-입력 텍스트는 영어(대소문자 구분 X), 입력을 끝마치 싶을 때는 EOF 입력
-단어의 개수는 최대 30, 단어의 길이는 10 초과 X
#include <stdio.h>
#include <string.h>
#define COUNT 30 //최대 단어 개수
#define LENGTH 10 //최대 단어 길이
void storeWords(FILE *,char [LENGTH][COUNT]);
int countWords(FILE *, char [LENGTH][COUNT], int);
int main() {
FILE * in_fp = fopen("input.txt", "w");
char words[LENGTH][COUNT] = {NULL};
storeWords(in_fp, words); //입력한 단어 저장 함수
fclose(in_fp);
}
void storeWords(FILE *in_fp, char words[LENGTH][COUNT]) {
int total = 0;
for (int i = 0; i < LENGTH; i++) {
scanf("%s", words[i]);
total++;
if (strcmp(words[i], "EOF") == 0) {
total--;
break;
}
fprintf(in_fp, "%s\n", words[i]);
if (tolower(words[i])) strupr(words[i]);
}
int answer = countWords(in_fp, words, total); // 입력한 단어 개수 반환 함수
printf("total count of words: %d\n", answer);
}
int countWords(FILE *in_fp, char words[LENGTH][COUNT], int total) {
int cnt = 0;
int j;
for (int i = 0; i < total; i++) {
for (j = i + 1; j < total; j++) {
if (strcmp(words[i], words[j]) == 0) break;
}
if (j == total) cnt++;
}
return cnt;
}
참고:
320x100
'IT > C, C++' 카테고리의 다른 글
[C언어] 문자열 행렬 출력 (0) | 2021.01.07 |
---|---|
[C언어] 세개의 수 오름차순 정렬 함수 (0) | 2021.01.07 |
기초를 탄탄히 세워주는 C++ 프로그래밍 입문 1장 연습문제 (0) | 2021.01.06 |
복습용 간단 핵심 요약 C언어 정리 (2) | 2021.01.03 |