
A 回答 (12件中1~10件)
- 最新から表示
- 回答順に表示
No.12
- 回答日時:
使用している文字コードにもよりますが、
'A'~'Z'、'a'~'z'は連続しているとは限らないので
If(c >= 'A' && c <= 'Z') {
printf("大文字\n");
} else if(c >= 'a' && c <= 'z') {
printf("小文字\n");
}
では上手く動作しない場合があるのでは?
isupper islower の使用をお勧めします。
No.11
- 回答日時:
No.7 追記
質問文読み直して、重要なことを忘れてたのに気がついた。
質問者は「1Byte文字」だとは書いてない。書いてるのは「入力された1文字」。
つまり、入力文字がマルチバイトなのかを最初に確認しないといけない。
No.10
- 回答日時:
本当にベタなら条件は
c == 'A' || c == 'B' || (中略) || c == 'Y' || c == 'Z'
とか
c == 'a' || c == 'b' || (中略) || c == 'y' || c == 'z'
(もちろん順序を変えてもかまわない) って書かないと>#8.
条件が「英字大文字」とか「英字小文字」ということになると, 厳密にはロケールを適切に設定しないと isupper などでうまく判定できないかも....
No.9
- 回答日時:
> もっと詳しく書くことは出来ないんですか?
isupper() という用意されている関数を使えば考える必要もなく判断できるのですが、要するに組み込みの関数ではなく、自分で判断をするようにしたいということでしょうか? それでしたら
If(c >= 'A' && c <= 'Z') {
printf("大文字\n");
} else if(c >= 'a' && c <= 'z') {
printf("小文字\n");
}
No.8
- 回答日時:
関数の概念が難しいのだと思うので、ベタな方法で書くと…
if ('A' <= c && 'Z' >= c)
{
printf("英字大文字です");
}
else if ('a' <= c && 'z' >= c)
{
printf("英字小文字です");
}
※変数cに文字が格納されている
ちなみにこれって、中学校の宿題かなにか?
No.7
- 回答日時:
>もっと詳しく書くことは出来ないんですか?
以下、JIS X3010:2003から引用
7.4.1.7 islower関数
形式
#include <ctype.h>
int islower(int c);
機能 islower関数は、小文字、又はiscntrl, isdigit, ispunct若しくはisspaceのいずれも真とならない文化圏固有の文字集合の中の文字かどうかを判定する。"C"ロケールでは、islowerは、小文字に対してだけ真を返す。
7.4.1.11 isupper関数
形式
#include <ctype.h>
int isupper(int c);
機能 isupper関数は、大文字、又はiscntrl, isdigit, ispunct若しくはisspaceのいずれも真とならない文化圏固有の文字集合の中の文字かどうかを判定する。"C"ロケールでは、isupperは、大文字に対してだけ真を返す。
これ以上詳しい情報が欲しければ、処理系を特定してください。
なお、詳しいことが分かりやすいことに直結するわけではありません。
No.6
- 回答日時:
>もっと詳しく書くことは出来ないんですか?
if(英字大文字の判定)
「英字大文字です」と表示
else if(英字小文字の判定)
「英字小文字です」と表示
else
それ以外をどこまで判定するかは知らん。
「詳しく」書いた。
提示された関数を自分で調べる気もないのなら、関数は使わない説明の方がいいだろ。
No.5
- 回答日時:
>それとも分からないだけでしょうか^^;
正しい回答しているのにこの返事はないと思いますよ
isupperで検索するなりされたのでしょうか
もう少し詳しく書くとisupper関数で大文字の判定が出来ます
具体的な使用法は#1さんの回答にあるリンク先を見てください
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ソフトウェア) ソースネクストアプリをインストールし、製品登録で半角英数字が入力できない 5 2022/07/03 22:44
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- その他(プログラミング・Web制作) COBOL数値転記をCOPY句内での仕様 6 2022/06/15 18:48
- 英語 Thursday(木曜日)の略し方 6 2023/02/07 07:24
- Java Javaの問題なのですが、「3文字以上の英数字文字列を入力し、文字列の中に文字(9)が出てくるまでの 1 2023/06/06 18:55
- その他(職業・資格) ローソンの会員になりたいです。 パスワードを打ってます。 英大文字、小文字、数字を含めて8文字以上打 3 2022/12/19 11:18
- 高校 数学Aの問題です。 下記2パーンのとき、それぞれ何通りありますか? ①アルファベット大文字小文字のい 3 2023/02/08 16:32
- Excel(エクセル) セルに入力した小文字アルファベット、数字を大文字表示させるには? 3 2022/07/13 10:01
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/03/09 16:55
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
fgetsで拾われる改行文字を削除...
-
CStringのFindで文字列検索を行...
-
sscanfとscanfの違いがよくわか...
-
charと%c , %s の関係について
-
C言語のステップ数をカウントす...
-
反転した数値を表示させるやり方
-
fgets関数を使用したときの文字...
-
初歩的なプログラムなんですが...
-
sscanfでフォーマットに合って...
-
自作の関数を見てください。
-
かぶった文字を消すプログラム
-
itoaわかりません
-
C言語でパスワード作成ツール
-
エディットボックスに入力され...
-
小文字のみを数える方法
-
c言語について array[i]-‘0’ こ...
-
printfの引数指定でなぜ文字列...
-
C言語で可変長から固定長に変換...
-
スペースで区切って数字を入力
-
C言語です
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CStringのFindで文字列検索を行...
-
fgetsで拾われる改行文字を削除...
-
itoaわかりません
-
sscanfとscanfの違いがよくわか...
-
Cで「大文字、小文字の判定」は...
-
C言語のステップ数をカウントす...
-
fgets関数を使用したときの文字...
-
CStringについて
-
ブランクのチェック
-
単語数のカウントについて
-
C言語 空白の行(改行のみ)が...
-
C言語で可変長から固定長に変換...
-
文字列中に含まれる文字の個数...
-
反転した数値を表示させるやり方
-
fgetsとsscanfを使って一行から...
-
C++
-
メニューバーでクリックした個...
-
fgetsの用法について
-
文字列の途中に「0」がある場...
-
かぶった文字を消すプログラム
おすすめ情報