文字のカウントとEOFについて
Posted: 2015年8月11日(火) 12:41
AOJで(言語はC)文字のカウントをするプログラムをかいていたのですが、こちらのコードをターミナルでコンパイルしても (1) に注意書きがでてしまい、実行できないのですがなぜでしょうか??
また、注意書きが出たにもかかわらずダメ元でAOJに投稿するとOKとなってしまいました。ますます意味が分かりません。
また、よければEOFについての意味も教えて下さると助かります。よろしくお願いしますm(_ _)m
また、注意書きが出たにもかかわらずダメ元でAOJに投稿するとOKとなってしまいました。ますます意味が分かりません。
また、よければEOFについての意味も教えて下さると助かります。よろしくお願いしますm(_ _)m
//与えられた英文に含まれる、各アルファベットの数を数えるプログラムを作成して下さい。 なお、小文字と大文字は区別しません。
//http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ITP1_8_C
#include <stdio.h>
int main(int argc, const char * argv[]) {
int i;
int a[26] = {0}; //アルファベット('a'-'z')は26文字
char ch[1201];
//input
while ( scanf("%s", &ch) != EOF) { //...(1)
//走査
for (i=0; ch[i]!='\0'; i++) {
if ('a'<=ch[i] && ch[i] <='z') {
a[ch[i]-'a']++; //小文字から 'a' を引くと対応した番号が得られる
}
if ('A'<=ch[i] && ch[i] <='Z') {
a[ch[i]-'A']++; //大文字から 'A' を引くと対応した番号が得られる
}
}
}
//output
for(i=0; i<26; i++){
printf("%c : %d\n", i+'a', a[i]); //0+'a' = 'a' つまり0=a, 1=b, 2=c, ... になる
}
return 0;
}