---6.1--- #include #include #include int main(void) { char str[100]; int i; printf("文字列を入力して下さい:\n"); gets(str); i = 0; while (str[i]) i++; printf("文字列の長さは%dです.\n", i); printf("strlen()の値は%dです.\n", strlen(str)); return EXIT_SUCCESS; } ---6.2--- #include #include #include int main(void) { char a[50], b[50], c[100]; int i, j; printf("文字列1を入力して下さい:\n"); gets(a); printf("文字列2を入力して下さい:\n"); gets(b); i = 0; while (c[i] = a[i]) i++; printf("文字列1:\n%s\n", c); j = 0; while (c[i] = b[j]) { i++; j++; } printf("文字列1と文字列2の連結:\n%s\n", c); /* ライブラリ関数を使った処理 */ strcpy(c, a); printf("文字列1:\n%s\n", c); strcat(c, b); printf("文字列1と文字列2の連結:\n%s\n", c); return EXIT_SUCCESS; } ---6.3--- #include #include #include void reverse(char s[]); int main(void) { char str[100]; printf("文字列を入力して下さい:\n"); gets(str); reverse(str); printf("逆転文字列:\n%s\n", str); return EXIT_SUCCESS; } void reverse(char s[]) { int i, j, w; for (i = 0, j = strlen(s); i < --j; i++) { w = s[i]; s[i] = s[j]; s[j] = w; } } ---6.4--- #include #include #include void gen_str(char s[], int n); int main(void) { char a[11], b[11]; int c; gen_str(a, 10); gen_str(b, 10); printf("文字列1:%s, 文字列2:%s\n", a, b); c = strcmp(a, b); if (c < 0) printf("文字列1は文字列2より前.\n"); else if (c == 0) printf("文字列1と文字列2は等しい.\n"); else printf("文字列1は文字列2よりあと.\n"); return EXIT_SUCCESS; } void gen_str(char s[], int n) { int i; for (i = 0; i < n; i++) s[i] = rand() % 26 + 'a'; s[i] = '\0'; }