0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

C言語の変換指定子で%02とか書くやつ(リーディングゼロの指定)

Last updated at Posted at 2023-05-08

注意

・AtCoderのabc001_B - 視程の通報ネタバレあり。
・間違っていたら教えてください!

学んだこと

・リーディングゼロの指定を理解してACできた。参考にした記事
スクリーンショット 2023-05-08 2.11.56.png

【問題文抜粋】
0.1km 以上 5km 以下:距離 (km) を 10 倍した値とする。1 桁の場合は上位に 0 を付す。
例えば、2,000m =2.0km ならば、VVは 20 である。同じく、200mの場合VVは 02 である。
【解説】
・1 桁の場合は上位に 0 を付す。(要するに十の位に0をつける)
という指示なのでリーディングゼロの指定を使って2桁になるように表示する。
・標準入力が100〜900までを1000で割り算すると1桁になるのでリーディングゼロの指定が適応される。標準入力の値が1000以上だと1000で割った答えが2桁以上になるのでリーディングゼロの指定を使っていても適応されないから以下の条件分岐ACできる。

ACしたコード

#include <stdio.h>
int	main(void)
{
	int m;
	scanf("%d",&m);
	// printf("%d\n",m);

	if(m < 100){
		printf("00\n");
	} else if(100 <= m && m <= 5000){
    //ここでリーディングゼロの指定を使ってる。
		printf("%02d\n",m / 100);
	} else if(6000 <= m && m <= 30000){
		printf("%d\n",m / 1000 + 50);
	} else if(35000 <= m && m <= 70000){
		printf("%d\n",((m / 1000) - 30) / 5 + 80);
	} else if(70000 < m){
		printf("89\n");
	}
	return (0);
}

0
0
8

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?