無題
Posted: 2010年9月06日(月) 00:44
重要課題 12..1
参考12.1に示されたfgets()を使い、入力された文字列につい て,1文字ずつその文字の種類を表示し,最後に文字数を表示するプログラムを作 成せよ.文字の種類は,大文字,小文字,数字,その他の文字の4種類とすること.
fgets()では入力された目に見える文字の最後に改行コードとヌル・バイト があるので注意すること。
% ./charType
文字列(20字まで)? Rits-1 ← 文字列を入力
1文字目は R で,大文字です.
2文字目は i で,小文字です.
3文字目は t で,小文字です.
4文字目は s で,小文字です.
5文字目は - で,その他の文字です.
6文字目は 1 で,数字です.
以上6文字です.
%
という問題でわからないことがありました
自分がつくったソース↓
#include<stdio.h>
# define BUFFER_SIZE (256);
int main(void){
char buf[BUFFER_SIZE];
int i;
printf("文字列は(20字まで)?");
fgets(buf, BUFFER_SIZE, stdin);
for(i=0;buf='\n' && i < 20;i++){
if(buf>65 && 90 > buf){
printf("%d文字目は %c で大文字です\n",i+1,buf);
break;
}
else if(buf>97 && buf < 122){
printf("%d文字目は %c で小文字です\n",i+1,buf);
break;
}
else if(buf > 48 && buf){
printf("%d文字目は %c で数字です\n",i+1,buf);
break;
}
else{
printf("%d文字目はその他の文字です");
break;
}
printf("以上です\n");
return 0;
}
で6、9、30行目がエラーになります。どこを直すべきかわかる方おしえてください。
参考12.1に示されたfgets()を使い、入力された文字列につい て,1文字ずつその文字の種類を表示し,最後に文字数を表示するプログラムを作 成せよ.文字の種類は,大文字,小文字,数字,その他の文字の4種類とすること.
fgets()では入力された目に見える文字の最後に改行コードとヌル・バイト があるので注意すること。
% ./charType
文字列(20字まで)? Rits-1 ← 文字列を入力
1文字目は R で,大文字です.
2文字目は i で,小文字です.
3文字目は t で,小文字です.
4文字目は s で,小文字です.
5文字目は - で,その他の文字です.
6文字目は 1 で,数字です.
以上6文字です.
%
という問題でわからないことがありました
自分がつくったソース↓
#include<stdio.h>
# define BUFFER_SIZE (256);
int main(void){
char buf[BUFFER_SIZE];
int i;
printf("文字列は(20字まで)?");
fgets(buf, BUFFER_SIZE, stdin);
for(i=0;buf='\n' && i < 20;i++){
if(buf>65 && 90 > buf){
printf("%d文字目は %c で大文字です\n",i+1,buf);
break;
}
else if(buf>97 && buf < 122){
printf("%d文字目は %c で小文字です\n",i+1,buf);
break;
}
else if(buf > 48 && buf){
printf("%d文字目は %c で数字です\n",i+1,buf);
break;
}
else{
printf("%d文字目はその他の文字です");
break;
}
printf("以上です\n");
return 0;
}
で6、9、30行目がエラーになります。どこを直すべきかわかる方おしえてください。