A 回答 (9件)
- 最新から表示
- 回答順に表示
No.9
- 回答日時:
恐らく何かの課題なのだろうけど
単に文字数をカウントするのが目的の課題なら、islowerを使うのが早道でしょうし
文字コードという点に着目する課題であるなら、
if (('a' <= str[i]) && (str[i] <= 'z'))
という判定をする方が趣旨に添っているでしょうね。
課題であれば必ずその前段で課題の元になるであろうテーマが解説されているはずだから
質問者がそのテーマ解説を理解していないので、方針が定まらないのでしょうね。
No.8
- 回答日時:
ちなみにアドバイスですけど、
「C 小文字 判定」でぐぐれば、すぐにislowerというのがヒットします。自分で調べる癖をつけておいたほうがよいですよ。
それと、ビルドエラーについてですが、解決できないなら、そのビルドエラーを貼り付けてみてください。
No.7
- 回答日時:
No.4です。
えっと、プログラムを初めて作ってるレベルなのかな。
int a;の次の行に入れてもだめでしょう。
gets(str)で読み込んでいるんですよね?
したがって、gets(str)の次です。
コンパイルエラーについてですが、おそらく私が書いたのが間違っているかもしれません。これ、JavaならOKという例です。Cの記述になおしてください。
あと、No.6さんが教えてくださっているとおり、islowerというのを使うとよりきれいになります。
No.6
- 回答日時:
幸いなことに、Cの標準関数にはislower()という、
「引数で指定した文字が英小文字かどうかを判定する」関数(もしくはマクロ)が
備わっています。
入力した文字列全体を1文字ずつ読んではislowerで判定させればよいです。
No.5
- 回答日時:
「範囲指定」って何のことだろう.
それぞれの文字に対し「その文字が小文字だったら 1を加える」って書くだけなんだけどね. ある文字が小文字かどうかを判定する方法はわかってますか? 分からないと, 全くお話になりませんよ.
ってか, こんなのわざわざ gets 使うまでもなく getchar でいいじゃん.
指摘は以上.
構文も違うけど, それ以上に「小文字かどうか」をそんなふうに判定してはいけない>#4.
No.4
- 回答日時:
センスないなあ。
いや冗談です。Cの構文忘れたので間違っていたらごめんなさい。
int count = 0;
for (int i = 0; i < str.length; i++) {
if (('a' <= str[i]) && (str[i] <= 'z')) {
count++;
}
}
countにカウントされます。
この回答へのお礼
お礼日時:2009/05/20 15:37
回答ありがとうございます。
今のを、int a;のところから入れても、ビルドの時にエラーが出てきてしまいます。
どこに入れたらいいのでしょうか?
申し訳ありませんが、よろしくお願いします。
No.3
- 回答日時:
>gets(str);
この関数で、文字列として取得しますよね?
この文字列内には、大文字も小文字も混じっているのでしょう?
ヒョッとしたら、数字や記号も?
なので、文字列を1文字ずつに分解(というか切り出し)して
その一個の文字がどういったモノなのか?(大文字?小文字?数字?その他?)判断し
条件に一致するモノだけを、加算するなり、印字するなり・・・・
と言う風に、漠然と思考するのではなく一つ一つ物事を噛み砕いて考えましょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# str[j++]の意味 2 2022/08/30 16:20
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- C言語・C++・C# 至急お願いします。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分母 3 2022/07/19 17:09
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語 空白の行(改行のみ)が...
-
charと%c , %s の関係について
-
sscanfとscanfの違いがよくわか...
-
文字変換プログラム
-
C言語のステップ数をカウントす...
-
str[j++]の意味
-
CStringのFindで文字列検索を行...
-
[Java]文字列分割
-
fgetsで拾われる改行文字を削除...
-
strstrを利用しない文字列検索...
-
c++でテンプレートのコードでわ...
-
#define _CRT_SECURE_NO_WARNIN...
-
Enterキーを押されたら次の処理...
-
2分法で方程式の複数の解を自...
-
比較回数と交換回数表示について
-
「Aに対するBの割合」と「Aに対...
-
「指定されたキャストは有効で...
-
正負を反転させて出力するプロ...
-
C言語での引数の省略方法
-
マイナスからプラスへ転じた時...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CStringのFindで文字列検索を行...
-
sscanfとscanfの違いがよくわか...
-
fgets関数を使用したときの文字...
-
反転した数値を表示させるやり方
-
Cで「大文字、小文字の判定」は...
-
charと%c , %s の関係について
-
C言語のステップ数をカウントす...
-
strstrを利用しない文字列検索...
-
C言語 空白の行(改行のみ)が...
-
fgetsで拾われる改行文字を削除...
-
文字列中に含まれる文字の個数...
-
C言語で16進数文字列から16進数...
-
itoaわかりません
-
文の意味
-
C言語 strlen 再入力を促す
-
fgetsでバッファ残留文字列を無...
-
全角文字のチェック
-
C++
-
ブランクのチェック
-
C言語、単語ごとに改行したい
おすすめ情報