• ベストアンサー

C言語の問題が解けません!

僕は、C言語を勉強しているのですがこの問題の答えがわかりません。 どうか教えてください。 回答お願いします。 ・問題・ 10文字以内の2つの英単語を入力し、アルファベット順で最初にくる単語を表示するプログラムを作りなさい。 /プログラム/ #include<stdio.h> #include<string.h> int main(void) { char str1[256],str2[256]; int i; printf("文字列1は?"); printf("文字列2は?"); return 0; }

質問者が選んだベストアンサー

  • ベストアンサー
回答No.5

こんな感じ? 他人が書いたプログラムでもそれをみるだけで勉強になると思うので、書いておきます。 まぁ、コンパイルも何もしていないのでコンパイルできるかというところから無保証ですが。 #include<stdio.h> #include<string.h> int main(void) { char str1[256],str2[256]; int i; printf("文字列1は?"); fgets(str1, sizeof(str1), stdin); printf("文字列2は?"); fgets(str2, sizeof(str2), stdin); if (strcmp(str1, str2) > 0) printf("%s", str1); else printf("%s", str2); return 0; } あと、よほどTAや教官が間抜けでない限りは授業で出した問題をこういうところで聞いていないか調べているものですよ。

jugemuno
質問者

お礼

回答ありがとうございました。 これからは、自分で解決できるよう勉強していきたいと思います。

その他の回答 (4)

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.4

># 1文字目だけの比較でいいってことでしょうかねぇ。 ちょいと正しくなかったっす。 1文字目が同じ。って場合もあるので、そういう場合は2文字を比較…というように処理していく必要がありましたな。

jugemuno
質問者

お礼

回答ありがとうございました。

回答No.3

No.2です。 不正解です。 getcharの戻り値はint型となります。 もう少しC言語の基礎をしっかりと身につけたほうが良いと思いますよ。 参考URL : http://www1.cts.ne.jp/~clab/hsample/IO/IO14.html

jugemuno
質問者

お礼

回答ありがとうございました。 もう一度基礎を覚え直したいと思います。

回答No.2

回答するまえに私から問題を出しましょう。 キーボードから1文字入力し、画面に表示するプログラムを作成してみてください。

jugemuno
質問者

お礼

#include<stdio.h> int main(void) { char a; a=getchar(); putchar(a); return 0; } 上のプログラムで大丈夫ですか。

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

丸投げっぷりがすばらしいですねぇ…。 >10文字以内の2つの英単語を で、 >char str1[256],str2[256]; は、無駄が多いような気もしますが。 # 不足するよりはマシですけどね。 んで、標準入力からの文字列入力については習っていないのでしょうか? scanf()とか定番ですけど。 というか独学なんですか? # 授業で習っていない…というのであれば、出題者に質問しましょう。 # 授業サボっていたのなら潔く単位を落とすか、友達を頼りましょう。(昼メシ1回くらいかな) >アルファベット順で最初にくる単語を表示する って、どういう基準なんですかね? appleとorangeならapple? # 1文字目だけの比較でいいってことでしょうかねぇ。

jugemuno
質問者

お礼

回答有難うございました。

jugemuno
質問者

補足

たぶん、そういうことだと思います。

関連するQ&A