関数の作り方の質問です。
たぶん、みなさんにとっては、全然やさしい問題だと思うんですが、私はいまだにいまいち理解ができません。。。
今回、『入力された文字列を指定された方向(左右)にローテートするプログラム』をつくりました。
頑張って作ったのですが、提出する時は、『左ローテートする関数と右ローテートする関数を作成すること』と注意をうけました。
私が作ったプログラ厶は、以下のようです。
#include <stdio.h>
main(){
char moji[100]; /*文字をいれる配列*/
char a;
int houkou; /*ローテートの方向を選ぶ*/
int i,n; /*配列内の位置*/
printf("文字列を入力してください:");
scanf("%s",&moji);
printf("左右どちらにローテートしますか?(左:1,右:2): ");
scanf("%d",&houkou);
if(houkou==2){ /*右を選択したとき*/
for(i=8;i>=0;i--){
moji[i+1]=moji;
if(moji=='\0') n=i;
}
moji[0]=moji[n];
moji[n]='\0';
}
else if(houkou==1){ /*左を選択したとき*/
a=moji[0];
for(i=0;moji!='\0';i++){
moji=moji[i+1];
}
moji[i-1]=a;
}
else{ /*それ以外のとき*/
printf("エラー\n");
return -1;
}
printf("ローテート結果:%s\n",moji); /*ローテート結果を表示する*/
return 0;
}このプログラ厶をどのようにして関数を利用したものにつくり変えればいいんでしょうか?
ご指導お願いします。