■AtCoder Beginner Contest 138 A - Red or Not

簡単なA問題をちょこちょこやってみてます。これぐらいのソースはリファレンスとか見なくても書けるようになりたいよねぇって思いなんですけど、それでも、あれ?どうするんだっけ?ってなることが日常茶飯な meyon さん。

 

AtCoder Beginner Contest 138 A - Red or Not

問題文

整数  a  と、英小文字からなる文字列  s  が入力されます。

a  が  3200   以上なら   と出力し、  が  3200   未満なら  red  と出力するプログラムを書いてください。

 

難しいことは何もないのですが、いざソースを書こうとしたら文字列の扱い方がわからない (^_^;)

 

文字列は配列に入れる。文字数が10文字ならば最後にヌルを付けて11文字分必要になるので、

 

  1.   char s[11];
  2.   scanf("%s", s);

 

とする。間違えて s[10] としてもヌルの分は自動的に足してくれるらしい。s[] としておけば必要なだけ割り当ててくれる。

代入するときは s[] じゃなくて s だけ書く。これはポインタを示しているらしい。

出力は同様に、

 

  1.   printf("%s¥n", s);

 

とすれば、文字列として出力される。

 

  1.   printf("%c¥n", s[2]);

 

のようにすると、3 文字目が出力される。

まぁそんな感じかな。

 

ってことでこんなふうになりました。

 

  1. #include <stdio.h>
  2. int main()
  3. {
  4.   int a;
  5.   char s[11];
  6.   scanf("%d %s", &a, s);
  7.   if (3200<=a) {
  8.     printf("%s¥n", s);
  9.   } else {
  10.     printf("red¥n");
  11.   }
  12.   return 0;
  13. }

 

 

なお、ソースコードの表示には「srctohtml ソースをHTMLで見やすく出力するツール」を利用させていただきました。ありがとうございます。

 


コメント
コメントする








   
この記事のトラックバックURL
トラックバック

■calendar

S M T W T F S
1234567
891011121314
15161718192021
22232425262728
2930     
<< September 2019 >>

■search this site.

■recommend

毎日貯まるポイントサイト ECナビ

■recommend

* 楽天ROOM *

■Twitter

■recommend

■recommend

■selected entries

■categories

■archives

■recent comment

■recent trackback

■links

■profile

■others

■mobile

qrcode

■powered

無料ブログ作成サービス JUGEM