掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.23953

char型の文字配列について
投稿者---せつ(2005/11/03 00:20:36)


入力された任意のアルファベットが大文字ならそのアルファベットからZまで、
小文字ならそれからzまで、アルファベット以外が入力されたなら
" Input alphabet"と出力するプログラムを作ろうとしています。

実行例
Input character g
ghijklmnopqrstuvwxyz

Input character R
RSTUVWXYZ

Input character 6
Input alphabet

みたいな感じを目指しています。しかし、以下のように組んだところで
行き詰ってしまいました。助言をお願いしたいと思い、書き込みました。

よろしくお願いします。



#include<stdio.h>

main()
{

  char moji;
  printf(" Input character ");
  scanf("%c", &moji);
  for ( 65 < moji;91 > moji; moji++ ){
    if( 65 < moji && moji < 91 ){
      printf("%c", moji);}
    for ( 97 < moji;123 > moji; moji++ ){
     if( 97 < moji && moji < 123){
       printf("%c", moji);}
    }
  }
   printf("\n");
}





この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:char型の文字配列について 23954 まきじ 2005/11/03 00:31:04
<子記事> Re:char型の文字配列について 23955 まきじ 2005/11/03 00:35:10


No.23954

Re:char型の文字配列について
投稿者---まきじ(2005/11/03 00:31:04)


>入力された任意のアルファベットが大文字ならそのアルファベットからZまで、
>小文字ならそれからzまで、アルファベット以外が入力されたなら

char smallAlphas[]="abcdefghijklmnopqrstuvwxyz";
char largeAlphas[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";

の様な配列と islower() isupper() strchr() を使えば簡単。


この投稿にコメントする

削除パスワード

No.23955

Re:char型の文字配列について
投稿者---まきじ(2005/11/03 00:35:10)


a < z A < Z とは限らないので c >= 'a' && c <= 'z' で分岐するより
isalpha() islower() isupper() を使うべきです。

因みに 0 < 9 は保証されていたはずです。


この投稿にコメントする

削除パスワード

No.23956

Re:char型の文字配列について
投稿者---si(2005/11/03 02:16:53)


#include<stdio.h>

int main(void)
{
    char smallAlphas[]="abcdefghijklmnopqrstuvwxyz";
    char largeAlphas[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    char moji;
    printf(" Input character ");
    scanf("%c", &moji);
    if (isalpha(moji)) {
        if (islower(moji)) {
            printf("%s",&smallAlphas[moji - 'a']);
        } else if (isupper(moji)) {
            printf("%s",&largeAlphas[moji - 'A']);
        } else {
            printf("Bug found!");
            return -1;
        }
    } else {
        printf("Input a-z or A-Z !\n");
        return 1;
    }
    printf("\n");
    return 0;
}



この投稿にコメントする

削除パスワード

No.23963

Re:char型の文字配列について
投稿者---せつ(2005/11/04 12:44:29)


まきじ様、si様
アドバイスありがとうございました。
ifとwhileでもなんとか組むことが出来たので助かりました。



この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧