したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

test

13名無しさん:2009/07/04(土) 08:02:52
#include <stdio.h>
char* Reverse(char *, int);
int main(){
&nbsp;&nbsp;char line[81];
&nbsp;&nbsp;int i=1, len;

&nbsp;&nbsp;do {
&nbsp;&nbsp;&nbsp;&nbsp;printf("非負の整数を入力してください: ");
&nbsp;&nbsp;&nbsp;&nbsp;if(fgets(line, 81, stdin) == NULL) return 1;
&nbsp;&nbsp;&nbsp;&nbsp;if(*line == '\n') continue;
&nbsp;&nbsp;&nbsp;&nbsp;for(len = 0; line[len] != '\n' && line[len] != '\0'; len++); line[len] = '\0';
&nbsp;&nbsp;&nbsp;&nbsp;for(i = len - 1; i>=0; i--)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if('0' > line[i] || line[i] > '9'){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("非負の整数以外が入力されました。\n");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;} while (i>=0);
&nbsp;&nbsp;printf("%s", line); // 関数のパラメータは、呼び出し順が左からではない為。
&nbsp;&nbsp;printf(" を逆から読むと%s です.\n", Reverse(line, len));
&nbsp;&nbsp;return 0;
}
char* Reverse(char *str, int length){
&nbsp;&nbsp;int i;
&nbsp;&nbsp;char tmp;

&nbsp;&nbsp;for(i=length/2-1; i>=0; i--) { // コードが最適化されるなら、for(i=0; i<length/2; i++)
&nbsp;&nbsp;&nbsp;&nbsp;tmp = str[i], str[i] = str[length-i-1], str[length-i-1] = tmp;
&nbsp;&nbsp;}
&nbsp;&nbsp;return str;
}


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板