C/C++の宿題を片付けます 75代目
レス数が950を超えています。1000を超えると書き込みができなくなります。
0976デフォルトの名無しさん
2006/11/06(月) 10:26:10スマートポインタにどっぷりなんだろうよ。
>>974
俺は>>967ではないが。これ以上初心者向けには(俺には)できない。
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{
int i, j, length;
char *a, temp;
if (argc == 1) exit(1); /* 引数なしなら終了 */
for (i = 1; i < argc; i++) { /* それぞれの引数に対して */
length = strlen(argv[i]); /* 引数の文字数 */
a = malloc(length + 1); /* 文字数分だけメモリの確保 */
strcpy(a, argv[i]); /* aに引数をコピー */
for (j = 0; j < length / 2; j++) { /* 文字列を反転 */
temp = a[j]; /* あらかじめ文字を保存しておいて */
a[j] = a[length - j - 1]; /* 手前を後ろの文字で置き換えて */
a[length - j - 1] = temp; /* 後ろの文字をあらかじめ保存した文字で置き換える */
}
a[length - 1] = toupper(a[length - 1]); /* 最後の文字を大文字に */
printf(a); /* 表示 */
free(a); /* 確保したメモリの開放 */
printf("\n"); /* 改行 */
}
return 0;
}
レス数が950を超えています。1000を超えると書き込みができなくなります。