" "(スペース)を挟んで n 回連結し,文字配列 s_out[ ] に格納するプログラム

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Time after time

" "(スペース)を挟んで n 回連結し,文字配列 s_out[ ] に格納するプログラム

#1

投稿記事 by Time after time » 14年前

一部分はわかるのですが、ほかに必要なソースコードが書けません。思いつきません。教えてください。お願いします。
#include <stdio.h>
/ここにヘッダを追加 したい。
int main(void)
{
int i, n, length;
char s_in[128], s_out[128];

fprintf(stderr, "Keyin n and str>> ");
scanf("%d%128s", &n, s_in);
/ここにプログラムを追加したい

/*ここまで
printf("%d %s\n", length, s_out);

(動作例)としては、下記のように実行させたいです。
Keyin n and str>> 5 HEY
19 HEY HEY HEY HEY HEY


return 0;
}

アバター
bitter_fox
記事: 607
登録日時: 14年前
住所: 大阪府

Re: " "(スペース)を挟んで n 回連結し,文字配列 s_out[ ] に格納するプログラム

#2

投稿記事 by bitter_fox » 14年前

文字列の連結は以下の要領で可能です。

コード:

sprintf(s_out+strlen(s_out), "%s ", s_in);
これを、n回繰り返してあげればよいですね。(ループ)

またループを抜けた際のstr_outの一番最後の文字はスペースになっているので補正してあげる必要があります。

コード:

if  (strlen(s_out) != 0)
{
    s_out[strlen(s_out)-1] = ' ';
}

T

Re: " "(スペース)を挟んで n 回連結し,文字配列 s_out[ ] に格納するプログラム

#3

投稿記事 by T » 14年前

ありがとうございます、。
では、それらのプログラムは具体的に、どの部分に組み込めば良いですか?

アバター
bitter_fox
記事: 607
登録日時: 14年前
住所: 大阪府

Re: " "(スペース)を挟んで n 回連結し,文字配列 s_out[ ] に格納するプログラム

#4

投稿記事 by bitter_fox » 14年前

「プログラムを追加したい」とご自身がおっしゃている所に適切に追加してください。

フォーラムルールでは、
「なるべくオリジナルな名前を決め、以後同じ名前を使い続けてください。」
とあります。これに従ってください。でないと混乱を招きます。

non
記事: 1097
登録日時: 14年前

Re: " "(スペース)を挟んで n 回連結し,文字配列 s_out[ ] に格納するプログラム

#5

投稿記事 by non » 14年前

あきらかに、学校の課題ですよね。
すると、何でも関数を使って良いとは限らないですけど・・・
解けばいいってもんじゃないと思うけどね。
たとえば、sprintfは習ったの?他に、strlenは?strcatは?
non

閉鎖

“C言語何でも質問掲示板” へ戻る