ページ 11

大文字 小文字 変換

Posted: 2015年4月17日(金) 21:30
by ちょるふぁん
解けない問題があるのですがどなたか手伝ってくれませんでしょうか。




文字列の数と、文字列を入力受け、メモリに割り当てた後
各文字別に小文字を大文字に、大文字を小文字に変換するプログラムを作成。



入力:3↲  Aab ↲

出力:aAB

Re: 大文字 小文字 変換

Posted: 2015年4月17日(金) 21:48
by みけCAT
課題の丸投げは禁止です。
途中まで書いたソースコードがあれば貼ってください。

Re: 大文字 小文字 変換

Posted: 2015年4月17日(金) 22:37
by ちょるふぁん
#include <stdio.h>
#include <ctype.h>

int main(void)
{
int i;
char str[] = "Aab";

for( i=0; i<15; i++ ){
str = tolower( str );
}
printf( "%s¥n", str );

for( i=0; i<15; i++ ){
str = toupper( str );
}
printf( "%s¥n", str );

return 0;
}

ぜんぜんだめですか。

Re: 大文字 小文字 変換

Posted: 2015年4月17日(金) 22:46
by softya(ソフト屋)
名前の統一をお願いします。
質問者は名前を複数使わずに1つの個性的な名前で質問した頂くようにお願しております。
http://dixq.net/board/board.html

Re: 大文字 小文字 変換

Posted: 2015年4月17日(金) 23:48
by みけCAT
コードはBBcodeを有効にした状態でcodeタグで囲んで(、かつ適切なインデントをして)いただけると、見やすくてありがたいです。
ちょるふぁん さんが書きました:ぜんぜんだめですか。
はい。バッファオーバーランが起こるので、ぜんぜんだめです。

とりあえず「各文字別に小文字を大文字に、大文字を小文字に変換する」ようにしてみました。
次は「入力受け」と「メモリに割り当て」ですね。

コード:

#include <stdio.h>
#include <ctype.h>

int main(void)
{
  int i;
  char str[] = "Aab";

  for( i=0; str[i]!='\0'; i++ ){
    if( isupper( str[i] ) ){
      str[i] = tolower( str[i] );
    } else if( islower( str[i] ) ){
      str[i] = toupper( str[i] );
    }
  }
  printf( "%s\n", str );

  return 0;
}