char one[1024];
char two[1024];
char one_two_buf[1024];

printf("データ1を入力してください\n");
scanf("%s",&one);
printf("データ2を入力してください\n");
scanf("%s",&two);

sprintf(one_two_buf, "%s %s)", one, two);

というプログラムでは、
『one』と『two』にスペース入りの文字列は入力できないんですか?
one_two_bufに『赤 青 緑 …』というように入れたいのですが
『one』に『赤 青』
『two』に『緑』
という感じでoneにスペースで区切って文字列を入力すると
『赤』がoneに、『青』がtwo に入ってしまうようで、

scanf("%s",&two);

の行が実行されません…

スペース入りの文字列を入力できる関数はあるのですか?
ぜひご教授ください
お願いします