下
C言語のお勉強ページに対するご意見・ご感想スレ
13:すぐ名無し、すごく名無し 2008/08/31(日) 00:05:24 こんにちは! C言語勉強中です. 演習6-11で行き詰まり参考にさせていただきました. そこで1つ気づいたのですが,管理人様の解答だと, 「例2):各学生の3教科の平均点を求める。」 が実行できないと思います. おそらく勘違いだと思いますが,管理人様のは各教科の平均を出しておられるのではないかと... 自分ももう少し考えてみますが,管理人様もお時間がありましたら修正版を示していただけると助かります.
14:へなちょこ管理人 ★ 2008/09/01(月) 15:30:27 Cは久しくさわってないので時間がかかるかも・・・ とりあえず考えてみます。
15:へなちょこ管理人 ★ 2008/09/01(月) 15:45:08 でけた。 ちょこちょこデバッグしながらで仕様を思い出せないですが、 なんとか期待通りの動作をしました。 /* 5人の学生の3教科(国語・数学・英語)の点数を 2次元配列を用いて処理するプログラムを自由に作成せよ。 例1):科目別の最高点を求める。 例2):各学生の3教科の平均点を求める。 */ #include <stdio.h> #define NINZU 5 #define KYOKA 3 void max(const int ma[NINZU][KYOKA], int no, int mb[KYOKA]) { int i, j; for ( i = 0; i < KYOKA; i++ ) { mb[i] = ma[0][i]; } for ( i = 1; i < no; i++ ) for ( j = 0; j < KYOKA; j++ ) if ( mb[j] < ma[i][j] ) mb[j] = ma[i][j]; } void avg(const int va[NINZU][KYOKA], int no, int vc[NINZU]) { int i, j; for ( i = 0; i < NINZU; i++ ) for( j = 0; j < no; j++ ) vc[i] += va[i][j]; for ( i = 0; i < NINZU; i++ ) vc[i] /= no; } int main(void) { int i; int a[NINZU][KYOKA] = { 0 }; int b[KYOKA] = { 0 }; int c[NINZU] = { 0 }; printf("%d人の国語、数学、英語の点数を入力して下さい。\n", NINZU); for ( i = 0; i < NINZU ; i++ ) { printf("[%02d] 国語:", i + 1); scanf("%d", &a[i][0]); printf(" 数学:"); scanf("%d", &a[i][1]); printf(" 英語:"); scanf("%d", &a[i][2]); } max(a, NINZU, b); avg(a, KYOKA, c); printf("国語の最高点:%d\n", b[0]); printf("数学の最高点:%d\n", b[1]); printf("英語の最高点:%d\n", b[2]); for ( i = 0; i < NINZU; i++ ) { printf("%02d人目の平均点:%d\n", i + 1, c[i]); return 0; }
16:訴える名無しさん。 2008/11/07(金) 23:31:59 C LanguageよりLanguage Cの方がしっくりくるお。 どっちでも通じるけど、後者の方が論文で良く見る。
17:かえで 2008/11/12(水) 19:59:35 ほすほす
18:へなちょこ管理人 ★ 2008/11/12(水) 21:05:42 ほすしなくても落ちないよw
19:かえで 2008/11/12(水) 21:06:46 >>18 いやいつになったら16に対する反応があるのかなぁと
20:へなちょこ管理人 ★ 2008/11/12(水) 21:09:38 FTPにログインするのが億劫だっただけだったりしたのだ。 まぁ仕事忙しくて時間無かったのもあるけど。 上下が逆のような気がするけど気にしないw んじゃHTML更新してくるぜ!
21:☆ハイパー名無しタイム☆ 2008/11/24(月) 17:16:11 演習7-2.cの終わりの方の puts("左にシフトした後の内容"); nol = lrotate(no, n); print_bits(nol); return 0; } の nol = lrotate(no, n); じゃなくて nol = rrotate(no, n); では?
22:へなちょこ管理人 ★ 2008/11/24(月) 20:11:25 /*符号無し整数xを右にnビット回転した値を返す*/ unsigned rrotate(unsigned x, int n) /*符号無し整数xを左にnビット回転した値を返す*/ unsigned lrotate(unsigned x, int n) だから合ってるような気がするんですが読み間違えてるんでしょうか・・・
上
前
次
1-
新
書
写
板
AA
設
索
C言語のお勉強ページに対するご意見・ご感想スレ http://newcomer.s368.xrea.com/test/read.cgi/bbs/1186266778/l50