- 1 名前:デフォルトの名無しさん mailto:sage [2007/10/15(月) 22:34:33 ]
- C言語の入門者向け解説スレです。
・C++言語はスレ違いです。 ・分からない事をなるべく詳しく書いて下さい。 ・ソースコードを晒すと答えやすくなるかもしれません。 ・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 前スレ C言語なら俺に聞け(入門篇) Part 19 pc11.2ch.net/test/read.cgi/tech/1190342593/ 教えて欲しいのではなく丸投げしたいならこちらへ C/C++の宿題を片付けます 97代目 pc11.2ch.net/test/read.cgi/tech/1191937213/
- 655 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 12:09:01 ]
- >>654 全然おk
- 656 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 12:10:10 ]
- >>655
すばやいレスありがとうございます。
- 657 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 13:21:06 ]
- 先ほどの654のものですが宣言で以下のようにしましたがうまくいきません。
typedef struct bridge{ int a; int b; int c; }DATA; DATA m[5][5] = { {-1,0,0},{-1,0,0},{-1,0,0},{-1,0,0},{-1,0,0}, {-1,0,0},{0,0,0},{0,0,2},{0,0,0},{-1,0,0}, {-1,0,0},{0,1,5},{0,0,0},{0,1,3},{-1,0,0}, {-1,0,0},{0,0,0},{0,1,2},{0,0,0},{-1,0,0}, {-1,0,0},{-1,0,0},{-1,0,0},{-1,0,0},{-1,0,0} }; 構造体を二次元配列で宣言する場合はどのようにすればよいのでしょうか。 アドバイスお願いします。
- 658 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 13:32:45 ]
- >>657
DATA m[5][5] = { {{-1, 0, 0}, ...}, ... };
- 659 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 13:40:09 ]
- >>658
本当に申し訳ありません。 単純なミスでしたorz ありがとうございます。
- 660 名前:デフォルトの名無しさん [2007/11/01(木) 14:29:42 ]
- >>639
CUI || GUI ?
- 661 名前:デフォルトの名無しさん [2007/11/01(木) 14:57:27 ]
- int型の数値をchar型の文字列配列に入れたいんですけどできますか?
- 662 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 15:05:21 ]
- >>661
char ci[100]; int i = 2007; sprintf(ci, "%d", i);
- 663 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 15:09:29 ]
- そういう意味だったのか
さすがエスパー
- 664 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 15:12:44 ]
- >>662
ありがとうございます!
- 665 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 16:18:05 ]
- >>660
ttp://www.excite.co.jp/dictionary/english_japanese/?search=CONSOLE&match=beginswith&dictionary=NEW_EJJE&block=36319&offset=400
- 666 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 16:20:06 ]
- >>660
こっちのほうが解りやすいかな。 ttp://www.excite.co.jp/dictionary/japanese/?search=%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB&match=beginswith&itemid=07660600
- 667 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 16:25:24 ]
- >>665
え? >>634 のプログラムの話なんだけどなんなの?
- 668 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 20:52:53 ]
- ポインタ意味わかんねええええええええええええええええ
*pだとしたら p = &a ってアドレスのみ格納? でこの場合 *pはaの中身そのまま、pならaのアドレスそのまま &pならポインタ変数pのアドレス。 これでいいのかい!? でポインタのポインタとかイミフ!
- 669 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 21:04:02 ]
- >>668
>*pはaの中身そのまま、pならaのアドレスそのまま &pならポインタ変数pのアドレス。 >これでいいのかい!? まあ大体はおk >でポインタのポインタとかイミフ! 単純に上のaがポインタだと考えればいいんだよ
- 670 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 21:33:12 ]
- >>669
ソノハッソウハナカッタワ すげー単純にわかった。thx
- 671 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 22:42:44 ]
- while(count < 20)
{ aiai = rand(); if (aiai >= 0 && aiai <= 100) { count2 = 0; while(count2 < 3) { test[count][count2] = aiai; count2++; printf("%4d ",test[count][count2]); } printf("\n"); count++; } 配列二次元目をまず3つ埋めた後、 縦に20個の繰り返しで乱数での数字を埋めたいんだけど、 どーもcount2が機能してないみたいで、全部初期化した0が返ってくる。 なんでなんだぜ? 二次元目って変数指定できないの?
- 672 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 22:43:48 ]
- あ、ごめん上の見やすくするためにスペース入れてたらifの閉じるの消えちゃってる。
それはご愛嬌で><
- 673 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 22:47:36 ]
- ごめんなさい。
よくよく見直したら count2++; printf("%4d ",test[count][count2]); これ処理の順番逆でした・・・。
- 674 名前:プリンがー mailto:aaa [2007/11/02(金) 00:35:43 ]
- -
x(エックスバーってどうやったら入力できますか?
- 675 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 00:36:39 ]
- >>674
ja.wikipedia.org/wiki/%E3%82%A8%E3%82%AF%E3%82%B9%E3%82%AB%E3%83%AA%E3%83%90%E3%83%BC
- 676 名前:デフォルトの名無しさん [2007/11/02(金) 01:12:30 ]
- プログラム初心者です。
乱数のrand()を使って勝、負のとこを帰れば丁、半にかえるプログラムですが これで問題はないでしょうか? #include <stdlib.h> main(){ int a; a= rand() % 2; if(a==1){ printf("勝"); }else{ printf("負"); } } プログラムの意味でifは基本なのでわかりますが ↓ここの部分があまりよく分からないんですが a= rand() % 2; if(a==1){ %2は2つの数のどちらかを出すと考えたのですがそれでよろしいでしょうか? a==1のとき勝が表示されます。 a= rand() % 2で1が表示された場合 elseはa==0ということで負と表示されていると考えていのでしょうか? 応用として甲、乙、丙をランダムに表示させる場合はif(a==2)、else if(a==1)、else として甲、乙、丙を表示させると考えるとかんがえていいのでしょうか? 分かる方がいればよろしくお願いします。 初心者用の参考書には乱数関係の説明がほとんどないんで…。
- 677 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 01:14:18 ]
- 乱数の説明はなくても%の説明がない参考書はないだろ。
- 678 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 01:15:57 ]
- #include <stdio.h>
int main(void) { while(1) { float kyori; int ryokin; printf("距離?"); scanf("%f", &kyori); if(kyori <= 0.0) return; for(ryokin = 1300; kyori > 8.0; kyori -= 2.0) ryokin += 200; if(kyori <= 5.0) ryokin = 870; if(kyori <= 3.0) ryokin = 550; if(kyori <= 2.0) ryokin = 380; printf("料金 : %d\n", ryokin); } } ↑のプログラミングリストでfloatの型使わないで表すとどうなるでしょうか? お願いします
- 679 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 01:19:40 ]
- 宿題スレで聞け
- 680 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 01:28:03 ]
- >>676
rand()は0以上RAND_MAX以下の整数を返す関数 %2は2で割った余り(剰余)を求める 2で割った余りは0か1だからrand()%2は0か1どちらかをランダムに生成するという意味 甲乙丙なら3種類の乱数(0,1,2)をランダムに生成すればいいからrand()%3とすればいい
- 681 名前:デフォルトの名無しさん [2007/11/02(金) 06:18:49 ]
- >676より
>680 ありがとう。 rand()%◆では◆で割った余りをランダムに表示させるという方法で 乱数をだしているんですね。 >677 それは分かるんです。質問の仕方が悪かったようで申し訳ないです。
- 682 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 10:10:23 ]
- 表示
- 683 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 10:50:31 ]
- char *const p;
char *const *pp = &p; pp = foo // 可能? *pp = bar // 可能? char *const *ppとあるとき、 *constと*はどっちが元のもの? ポインタのポインタのポインタの…は、 どっち方向に * が伸びていくの?
- 684 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 12:18:41 ]
- >>683
fooとbarは何の型?
- 685 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 12:29:03 ]
- char c;
char *const p = &c; char *const *pp = &p; char *const **ppp = &pp; char *const ***pppp = &ppp; pp = foo; // 可能 *pp = bar; // 不可能 **pp = hoge; // 可能
- 686 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 12:41:26 ]
- char *const *pp
はconstなchar* のポインタ char const **pp はconstなcharのポインタのポインタ と認識してるけど・・・ char *const p; char *const *pp = &p; //OK char const *p; char *const *pp = &p; //NG
- 687 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 14:14:02 ]
- char *const *pp
charへのconstポインタへのポインタ? charへのポインタへのconstポインタ? char **const p charへのconstポインタへのconstポインタ? charへのポインタへのconstポインタ?(char *(*const) p相当?)
- 688 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 14:15:29 ]
- >>685 さんの説(?)で行くと、
char *const *pp はcharへのconstポインタへのポインタ、ということになる。
- 689 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 14:17:26 ]
- >char *const *pp
charへのconstポインタへのポインタ >char **const p charへのポインタへのconstポインタ >charへのconstポインタへのconstポインタ? それは char *const *const p; と書く
- 690 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 15:58:45 ]
- おまえらはオレの脳を破壊する気ですか?
- 691 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 17:28:04 ]
- >>683-が一切わからん
- 692 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 17:50:59 ]
- 要するにconstあり/なしの組み合わせの数がたくさんあるってこと。
ポインタじゃないただの変数の場合、constあり/なしの2種類しかない。 char c; const char c; ポインタには、指す先のconstあり/なしとポインタ自体のconstあり/なしがあるから、全部で4通りになる。 charへのポインタ … char *p; charへのconstポインタ … char *const p; const charへのポインタ … const char *p; const charへのconstポインタ … const char *const p; ポインタを指すポインタは、指す先が4種類あって、ポインタ自体のconstあり/なしもあるから、全部で8通り。 charへのポインタ へのポインタ … char **p; charへのconstポインタ へのポインタ … char *const *p; const charへのポインタ へのポインタ … const char **p; const charへのconstポインタ へのポインタ … const char *const *p; charへのポインタ へのconstポインタ … char **const p; charへのconstポインタ へのconstポインタ … char *const *const p; const charへのポインタ へのconstポインタ … const char **const p; const charへのconstポインタ へのconstポインタ … const char *const *const p;
- 693 名前:デフォルトの名無しさん [2007/11/02(金) 17:53:33 ]
- もうやめて>>692!>>690-691のライフは0よ!
- 694 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 17:56:01 ]
- >>692 まとめおつ!!
- 695 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 18:01:20 ]
- 「ポインタ完全制覇」だっけかに考え方が書いてあるよ
const char **const p; の場合、右から順に考えて p が const *p はノーマル **p が const という風に機械的に解釈するといいらしい
- 696 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 18:03:18 ]
- どうせコンパイラも機械的に解釈してるしな
- 697 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 18:09:13 ]
- 初心者だが上に挙げた事例でどこら辺の物まで
実際のプログラムで活用されるの? なんか、>>692とかわけわかめなんだ。
- 698 名前:プリンがー mailto:aaa [2007/11/02(金) 18:11:37 ]
- 三角形の面積を求めよ。
#include <stdio.h> int main (void) { double height teihen; double S; printf("height="); scanf("%lf",&height); printf("teihen="); scanf("%lf",&height); S=height*teihen/2; printf("面積S=%f\n",S); } これであってますか?
- 699 名前:プリンがー mailto:aaa [2007/11/02(金) 18:20:13 ]
- e=1+1/1!+1/2!+・・・+1/10!を求めよ。
#include <stdio.h> int main (void) { int i; double e; for(i=1;i<=10;i++){ e+=0.1+1/i!: } printf("e=%f\n",e); return(0); } あってます?
- 700 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 18:21:53 ]
- constのポインタだと
どこらへんがおいしいの?
- 701 名前:デフォルトの名無しさん [2007/11/02(金) 18:22:44 ]
- >>698
teihen の値が怖いwwwww >>699 e+= が怖いwwwww
- 702 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 18:23:54 ]
- !
- 703 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 18:27:18 ]
- >>697
例えば、 Manpage of QSORT ttp://www.linux.or.jp/JM/html/LDP_man-pages/man3/qsort.3.html に、(char * const *) p1が出てくる。
- 704 名前:デフォルトの名無しさん [2007/11/02(金) 18:34:47 ]
- e+=0.1+1/i!:
eが初期化してない。 1/i!なんて式初めて見た。
- 705 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 18:38:43 ]
- for(i=1;i<=10;i++)
のケースだと i! はいつも 0 になり、ゼロディバイドw
- 706 名前:デフォルトの名無しさん [2007/11/02(金) 18:43:07 ]
- >>705
!iならそうだろうけど・・・。 i!でもおk
- 707 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 18:52:45 ]
- >>703
thx 使うときは使うんだな。もっかいポインタやりなおすわ。
- 708 名前:プリンがー mailto:aaa [2007/11/02(金) 19:10:08 ]
- >>701
teihenじゃなくどうすればいいですか?ippen? >>704 初期化・・このときe=0の初期化が必要なんですか?
- 709 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 19:14:25 ]
- >>708
printf("teihen="); scanf("%lf",&height); // テーヘンだ!テーヘンだ!
- 710 名前:プリンがー mailto:aaa [2007/11/02(金) 19:19:49 ]
- >>709
あ、入力ミスですw 変数名はteihenで構わないですよね?
- 711 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 19:21:09 ]
- >>708
>>698の自分のプログラムをよく見ましょう 単純なケアレスミス あとCにはi!なんて記法は存在しません
- 712 名前:プリンがー mailto:aaa [2007/11/02(金) 19:28:03 ]
- >>711
そうなんですか。 そうした場合>>699の問題でプログラムの本体はどうすればいんですか?
- 713 名前:デフォルトの名無しさん [2007/11/02(金) 19:29:56 ]
- >>712
まずn!の意味を考えると・・・ n! = 1*2*3*4*5 ・・・ * n だ あとはそれをプログラムするだけ。
- 714 名前:プリンがー mailto:aaa [2007/11/02(金) 19:34:23 ]
- >>713
なるほど。 プログラム内に「・・・」の表記はありなんですか?
- 715 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 19:38:14 ]
- あまりにアホすぎて釣りにしか見えない
- 716 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 19:38:21 ]
- >>714
まず問題の前に書式の勉強をしておいで。
- 717 名前:プリンがー mailto:aaa [2007/11/02(金) 19:40:32 ]
- 初心者なもんですんまそ。
- 718 名前:プリンがー mailto:aaa [2007/11/02(金) 19:46:23 ]
- なしですね。
- 719 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 19:58:25 ]
- 本気だったならごめん
勉強がんばれ
- 720 名前:プリンがー mailto:aaa [2007/11/02(金) 20:00:47 ]
- >>719
ありがとうございます。
- 721 名前:プリンがー mailto:aaa [2007/11/02(金) 20:47:49 ]
- e=1+1/1!+1/2!+・・・+1/10!を求めよ。
これって関数使わずにプログラム作れますか?
- 722 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 20:51:06 ]
- mainもつかわずに?
- 723 名前:プリンがー mailto:aaa [2007/11/02(金) 20:51:09 ]
- >>721
追記 関数でfactorial使ってできるんだろな〜てのは分かるんですが関数の学習 はまだちょこっとしかしてなくて
- 724 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 20:51:53 ]
- ハンドルネーム使ってる時点で…なぁ
- 725 名前:プリンがー mailto:aaa [2007/11/02(金) 20:51:59 ]
- >>722
mainは使ってです。
- 726 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 20:52:24 ]
- プリプロセッサメタプログラミングで求めろってことか
- 727 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 20:53:00 ]
- 作れるよ
- 728 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 20:53:24 ]
- >>723
そんなのしなくても出来る。 まずn!を計算する処理を考える、 それが出来たらnn!を計算する処理を考える それが出来たら1/nn!を計算する処理を考える。
- 729 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 20:55:00 ]
- 関数使って作れるならそれをインライン展開したものを考えてみよう
- 730 名前:プリンがー mailto:aaa [2007/11/02(金) 20:55:14 ]
- >>727
そうですか〜。 for〜if〜使えばいいのかな?
- 731 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 20:55:59 ]
- うん
- 732 名前:プリンがー mailto:aaa [2007/11/02(金) 20:59:16 ]
- >>728
n!が俺には謎めいてきたw
- 733 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 21:04:13 ]
- >>730
二重ループは知ってる?
- 734 名前:プリンがー mailto:aaa [2007/11/02(金) 21:07:24 ]
- >>733
はい。条件分岐はだいたい分かってます。
- 735 名前:デフォルトの名無しさん [2007/11/02(金) 21:07:42 ]
- C言語結構粘るな。そろそろ終わってもいいと思うんだが
- 736 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 21:12:35 ]
- 答えはこのとおりだが、自分で考えたいだろうから読みにくくしている。
考え方だけ参考にして。ちなみに行儀の悪いコーディングの例でもあります #include<stdio.h> int main(void){int i,n=10; double e=1.0,x=1.0;for(i=1; i<=n;i++)e+=(x/=i);printf( "%f\n",e);return 0;}
- 737 名前:プリンがー mailto:aaa [2007/11/02(金) 21:20:58 ]
- >>736
大変ありがとうございます。 ちなみにn=10とx=1.0は必要ないですよね!?
- 738 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 21:27:23 ]
- >>737
何故そう思う?
- 739 名前:プリンがー mailto:aaa [2007/11/02(金) 21:42:12 ]
- >>738
n=10はiの範囲のうち。x=1.0はe+=1.0/iの1.0はiを格上げするため。 double/int→doubleここはなんて説明すればいいのか・・・
- 740 名前:プリンがー mailto:aaa [2007/11/02(金) 21:43:38 ]
- xは1.0のままだからボックスを作る必要がない。
- 741 名前:デフォルトの名無しさん [2007/11/02(金) 21:44:52 ]
- >>738
>>736のコードが難しすぎたようだ。 初心者にe+=(x/=i);をぱっと理解できるとはおもえん。
- 742 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 21:45:00 ]
- 1.0のままではありませんよ
- 743 名前:プリンがー mailto:aaa [2007/11/02(金) 21:57:17 ]
- >>742
なぜ1.0のままじゃないんですか?? めんどくさくなければ教えて下さい。
- 744 名前:デフォルトの名無しさん [2007/11/02(金) 21:58:27 ]
- >>743
x /= i は x = x/i; のこと。 x/iをxに代入する。
- 745 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 21:58:46 ]
- >>739 の解釈だと >>736 は
e=1 + 1/1 + 1/2 + 1/3 + 1/4 + 1/5 + 1/6 + 1/7 + 1/8 + 1/9 + 1/10 ってことになるよ とりあえず x の値を表示させてみては?
- 746 名前:プリンがー mailto:aaa [2007/11/02(金) 22:04:39 ]
- >>744
それは分かってます。 >>745 ちょっと説明間違ったかなー 分子は1.0のままでしょ
- 747 名前:デフォルトの名無しさん [2007/11/02(金) 22:17:12 ]
- >>746
じゃあ1/3!は 0.5/3だって理解は出来る? 同様に 1/4!は 0.166/4
- 748 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 22:21:55 ]
- >>746
前回のループで計算したxが分子だよ
- 749 名前:プリンがー mailto:aaa [2007/11/02(金) 22:22:53 ]
- >>747
1/3!=(1/2)/3 1/4!=(1/6)/4
- 750 名前:デフォルトの名無しさん [2007/11/02(金) 22:26:12 ]
- >>749
そうそう。 あれ、分子が1.0のまんま?はて?
- 751 名前:プリンがー mailto:aaa [2007/11/02(金) 22:27:29 ]
- >>750
頭が痛くなってきた。
- 752 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 22:29:31 ]
- e+=(x/=i);を分解すると、
x = x / i; e = e + x; xのところに直値で1.0を入れることはできない
- 753 名前:デフォルトの名無しさん [2007/11/02(金) 22:29:48 ]
- >>751
つまり分子は1.0のままではない。って事。 1/3!=(1/2!)/3 1/4!=(1/3!)/4 1/5!=(1/4!)/5
- 754 名前:プリンがー mailto:aaa [2007/11/02(金) 22:33:33 ]
- >>753
てか階乗の意味ってもともと 1/3!=(1/2!)/3 1/4!=(1/3!)/4 1/5!=(1/4!)/5 なの? 1/3!=1/1*2*3 1/4!=1/1*2*3*4 1/5!=1/1*2*3*4*5 じゃなくて?
- 755 名前:デフォルトの名無しさん [2007/11/02(金) 22:34:04 ]
- 西暦を入力すると干支が出るようにしたいんですが、何が違うのかわかりません。教えてください
if文が全般的に違うようです。 #include<stdio.h> main() { int year(void); printf("西暦・・・"); scanf("%d", &year); if(year % 12 = 2) {printf("%d 年は戌年",year);} else if(year % 12 = 3) {printf("%d年は亥年\n",year);} else if(year % 12 = 4) {printf("%d年は子年\n",year);} else if(year % 12 = 5) {printf("%d年は丑年\n",year);} else if(year % 12 = 6) {printf("%d年は寅年\n",year);} else if(year % 12 = 7) {printf("%d年は卯年\n",year);} else if(year % 12 = 8) {printf("%d年は辰年\n",year);} else if(year % 12 = 9) {printf("%d年は巳年\n",year);} else if(year % 12 = 10) {printf("%d年は午年\n",year);} else if(year % 12 = 11) {printf("%d年は未年\n",year);} else if(year % 12 = 0) {printf("%d年は申年\n",year);} else {printf("%d年は酉年\n",year);} return 0; }
|

|