[ create a new paste ] login | about

Link: http://codepad.org/VG9RrCqz    [ raw code | output | fork ]

C, pasted on Oct 8:
#include <stdio.h>

#define STRMAX 256

int main(int argc, char *argv[]){
	FILE *f;
	char str[STRMAX];
	int i;
	int cnt[26]; /* 文字ごとカウント */
	
	if(argc<2){
		printf("no input\n");
		return 1;
	}else if(argc>2){
		printf("too many inputs\n");
		return 1;
	}
	
	if((f = fopen(argv[1],"r"))==NULL){
		printf("invalid input\n");
		return 1;
	}
	
	/* カウント初期化 */
	for(i=0;i<26;i++) cnt[i]=0;
	
	/* 1行ずつ読み込み */
	while(fgets(str,STRMAX,f)!=NULL){
		/* 1文字ずつ調べる */
		for(i=0;(str[i]!='\0')&&(i<STRMAX);i++){
			/* 小文字英字 */
			if(str[i]>='a'&&str[i]<='z'){
				cnt[str[i]-'a']++;
			}
			/* 大文字英字 */
			if(str[i]>='A'&&str[i]<='Z'){
				cnt[str[i]-'A']++;
			}
		}
	}
	
	for(i=0;i<26;i++){
		printf("%c:%d\n",'a'+i,cnt[i]);
	}
	
	return 0;
}


Output:
1
no input


Create a new paste based on this one


Comments: