/* Part6 演習問題5 */ /* 文字列全体の文字数、英字とその他の文字数 */ #include <stdio.h> int main(void) { char buf[80] ; int n ; int nc,na,nn ; /* ncは全文字数、 naは英字数、nnはその他の文字数 */ while(1) { printf("\n文字列を入力してください(80文字以内,改行文字のみで終了)。\n") ; nc=0 ; na=0 ; nn=0 ; for(n=0;n<80;n++) { scanf("%c",&buf[n]) ; if(buf[n]=='\n') { buf[n]='\0' ; /* 改行文字は空文字に置き換え */ break ; } } if(n==80) buf[79]='\0' ; else if (n==0) break ; /* 改行文字のみ入力で終了 */ /* printf("入力文字列: %s\n",buf) ; */ n=0 ; while(buf[n]!='\0') { nc++ ; if(((buf[n]>='A')&&(buf[n]<='Z'))|| ((buf[n]>='a')&&(buf[n]<='z'))) na++ ; else nn++ ; n++ ; } printf("全文字数: %d 英字数: %d その他の文字数: %d\n",nc,na,nn) ; } return(0) ; } |
% gcc -Wall part6-5.c % ./a.out 文字列を入力してください(80文字以内,改行文字のみで終了)。 He is a boy. 全文字数: 12 英字数: 8 その他の文字数: 4 文字列を入力してください(80文字以内,改行文字のみで終了)。 She is a girl. 全文字数: 14 英字数: 10 その他の文字数: 4 文字列を入力してください(80文字以内,改行文字のみで終了)。 |