c言語についての質問です。

C言語関連 | プログラミング・121閲覧・xmlns="http://www.w3.org/2000/svg">100

ベストアンサー

このベストアンサーは投票で選ばれました

0
画像

その他の回答(3件)

0

例示の 20170801は、8桁ですよ? 下2桁は不要。 まず 上4桁と、下2桁に切り分けましょう。 6桁の数値を100で割れば、上4桁が得らえます。 100で割ったときの余りを取れば、下2桁が得られます。 下二けたの数値をif文で切り分けて、季節が得られます。 年号は、取りあえず元旦の年号にすれば、切り分けできますね。 それで不満なら、元号が2つある年は、年で取り出して、、さらに月で元号を決めます。その場合1日の元号を使うことに決めておくなどします。 if文と数字の大小比較だけで殆どできます。 簡単ですから自分でやりましょう。 どうしてもサンプルが居るならインターネットで検索しましょう。

0

char digits[7]; int m,y; /* 月を切り出して、3で割った答えが0なら、冬 1なら春、2なら夏、3なら秋、4なら冬 */ scanf("%s",digits); m=atoi(&digits[4]); digitis[4]=0; y=atoi(digits); if(y<2019) printf("平成%d年",y-1988); else if (y>2019) printf("令和%d年",y-2018); else if(m<5) printf(”平成%d年",y-1988); else printf("令和%d年",y-2018); switch (m/3) { case 0: printf("冬\n"); break; case 1: printf("春\n"); break; case 2: printf("夏\n"); break; case 3: printf("秋\n"); break; default: printf("冬\n"); break; } } くらいで。

0

6桁で年と月を入力という事は…… 198901と入力された場合、なんと表示されるのが正しいのでしょう?