2013年5月14日火曜日

文字列を反転するプログラム

文字列を逆さにするプログラムをC言語で作ってみたいと思います

 どのような手順を踏むのかというと……


  1. まず、適当な長さの文字列(文字型の配列)を用意する
  2. 標準入力から受け取ったデータを用意した配列に格納する
  3. 何文字分あるかを測る(n文字分あったとする)
  4. 1文字目とn文字目、2文字目とn-1文字目と、順番に交換していく
おおまかに言うとこのようになります


解答例:reverse.c

#include <stdio.h>
#include <string.h>

int main()
{
  char hoge[256];

  printf("文字列を入力してください\n"); scanf("%s", hoge);

  int i;
  int length;
  char tmp;
  length = strlen(hoge);
  for(i = 0; i < (length/2); i++){
    tmp = hoge[i];
    hoge[i] = hoge[length - i - 1];
    hoge[length - i - 1] = tmp;
  }

  printf("%s\n", hoge);

  return (0);
}


なお、文字列の長さを測る関数strlenは、NULL文字(\0)の直前までの長さを測ってくれるため、特別NULL文字について意識する必要はありません

0 件のコメント:

コメントを投稿