C言語、整数nが1行目、続く行でn個の文字列が与えられ、n個の文字列をそのまま出力する問題です。
はじめは簡単な問題だと思い、ベーシックに以下のように記述しました。
#include <stdio.h> int main(void){ char buf[1000]; int n; int i; char str[1000]; fgets(buf, sizeof(buf), stdin); sscanf(buf, "%d", &n); for(i = 0; i < n; i++) { fgets(buf, sizeof(buf), stdin); sscanf(buf, "%s", &str); printf("%s\n", str); } }
殆どのケースがただ単に
3
AB
CD
EF このような入力でしたが、
一つだけ引っかかったケースを見てみると
4
Hello World!
Hello C!
Hello Ruby!
Goodbye!
とスペースを含んでいました。%s %sで受け取ってしまうと他のケースでダメになってしまうし、どちらにも対応するにはどうしたら良いでしょう…?ご教示頂けますと幸いです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/09/02 01:53