- ベストアンサー
C言語のプログラミングについて
私は大学2年なのですが、現在留年するかしないかというぎりぎりのところに立っています。好意で単位をなんとかしてくれる教授を探し出し、C言語の宿題を出されました。ですが私は根っからの文型で、プログラミングなどしたこともありません。教科書を図書館で借りて読んでみるものの、すぐ理解できるような難易度ではないことだけがわかりました。 そこでもしよろしければ、プログラムを教えてもらいたいです。 1.キーボードから整数の入力を繰り返す。0以下の値が入力されたら終了し、入力した値の中の最小値を表示する。また、それが何番目に入力された値かもあわせて表示する。(6つの整数を入力、最後の整数は0を入力することとする。) 実行結果例 整数を入力: 6 整数を入力: 5 整数を入力: 4 整数を入力: 3 整数を入力: 2 整数を入力: 1 整数を入力: 0 最小値は6番目の1 2.キーボードから整数の入力を4回繰り返し、それらの値を2次元配列Aの各要素に順に代入し、その行列のそれぞれの要素と行列式を表示するプログラムを作成せよ。 実行結果例 1行1列の要素? 6 1行2列の要素? 5 2行1列の要素? 4 2行2列の要素? 3 行列A = 6 5 4 3 行列式 = 2 3.キーボードから西暦年を入力し,その年が閏年のときは「○○年はうるう年です」と表示し,そうでないならば「○○年はうるう年ではありません」と表示するプログラムを作成しなさい. なお,閏年の定義は以下の通りである. ・西暦年が4で割り切れる年は閏年 ・ただし,西暦年が100で割り切れる年は平年 ・ただし,西暦年が400で割り切れる年は閏年 実行結果例 西暦年を入力してください. 1987 1987 年はXXXXXXXX 一時的ではありますが、皆様のお力をお借りしたいです。 もちろん、ここでお答えをもらってもわからないままにせずに、無事進級することができたら独学で勉強しようとは思ってます。 なお、理系の人たちはVisualBasicというソフトを使っているようです。よろしくお願い致します。
- みんなの回答 (15)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (14)
- titokani
- ベストアンサー率19% (341/1726)
- titokani
- ベストアンサー率19% (341/1726)
- titokani
- ベストアンサー率19% (341/1726)
- titokani
- ベストアンサー率19% (341/1726)
- jacta
- ベストアンサー率26% (845/3158)
- jacta
- ベストアンサー率26% (845/3158)
- titokani
- ベストアンサー率19% (341/1726)
- titokani
- ベストアンサー率19% (341/1726)
- jacta
- ベストアンサー率26% (845/3158)
- asuncion
- ベストアンサー率33% (2127/6290)
- 1
- 2
お礼
#include <stdio.h> int main(void) { int n,i,x,imin; x=0; n=0; printf("整数を入力:"); scanf("%d",&n); imin=n; i=1; while(n>0){ printf("整数を入力:"); scanf("%d",&n); if(n>0 && n<imin){ imin=n; x=i+1; } i++; } printf("最小値は%d番目の%d\n",x,imin); return 0; } ループ前に一度試行し、iの初期値を1にしてみました。 whileでのループ定義を勘違いしていたため、そこを修正。 問2 #include <stdio.h> int main(void) { int a[2][2],i,j; for(i=0;i<2;i++){ for(j=0;j<2;j++){ printf("%d行%d列の要素? ",i+1,j+1); scanf("%d",&a[i][j]); } } printf("行列A =\n%d %d\n%d %d\n",a[0][0],a[0][1],a[1][0],a[1][1]); printf("行列式= %d",a[0][0]*a[1][1]-a[0][1]*a[1][0]); return 0; } ちょっと行列の計算の式があってるか不安です。 質問には載せてないですが、問4と問5も実在したりします。 こちらは穴埋め形式のため、なんとかがんばってみようと思います。