ここから本文です

4人の学生の3科目の点数をキーボードから入力し、各学生の合計点を表示するプロ...

ampfffffさん

2017/12/1421:07:59

4人の学生の3科目の点数をキーボードから入力し、各学生の合計点を表示するプログラムを作成したいのですが、このやり方でコンパイルするとなぜか左の画像のように数字がおかしくなってしまいます。

#include <stdio.h>
int main(void)
{
int d[4][4],i,j;
char *a[]={"国語","数学","理科"};

for(i=0;i<4;i++)d[i][4]=0;

for(i=0;i<4;i++){
for(j=0;j<3;j++){
printf("%d人目:%sの点数=",i+1,a[j]);
scanf("%d",&d[i][j]);

}
}

printf("\n\n");
printf("%4s"," ");
for(i=0;i<3;i++){
printf("%2s"," ");
printf("%s",a[i]);
}
printf("%2s"," ");
printf("合計");
printf("%2s"," ");
printf("\n");

for(i=0;i<4;i++){
printf("%2d人目",i+1);
printf(" ");
for(j=0;j<4;j++){
printf("%4d",d[i][j]);
printf("%2s"," ");
}
printf("\n");
}

return 0;
}

入力する部分はいいのですが、右の画像のような結果にするにはどう改良したらよいか教えていただきたいです・・・

printf,i&amp;lt,n&amp;quot,j&amp;lt,stdio.h&amp;gt,Visual C++

閲覧数:
43
回答数:
1
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

rhi********さん

2017/12/1601:59:02

/*
2017/12/14 21:07:59__dickiies555さん

4人の学生の3科目の点数をキーボードから入力し、各学生の合計点を表示するプログラムを作成したいのですが、このやり方でコンパイルするとなぜか左の画像のように数字がおかしくなってしまいます。

入力する部分はいいのですが、右の画像のような結果にするにはどう改良したらよいか教えていただきたいです・・・
*/
// Visual C++ 2013
#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

int main(void){
_int_ d[4][4]={0};_// 数表:ゼロ初期化
_int_ i,j;_____// 配列操作カウンタ
_char_*a[]={"国語","数学","理科"};
_
_// 入力
_for(i=0;i<4;i++){_ // 生徒の入力繰返し
__printf("%d人目:\n",i+1);_ // 生徒見出し
__for(j=0;j<3;j++){ // 科目の入力繰返し
___printf("_ %sの点数=",a[j]);_// 入力プロンプト
___scanf("%d",&d[i][j]);____ // 点数入力
__}
_}
_
_printf("\n\n__ ");
_for(i=0;i<3;i++){
_printf("_%s",a[i]);
_}
_printf("_合計");
_printf("_\n");
_
_for(i=0;i<4;i++){
__printf("%2d人目",i+1);
__printf(" ");
__for(j=0;j<4;j++){
___printf("%4d_",d[i][j]);
___if( j<3 ) d[i][3] += d[i][j];
__}
__printf("\n");
_}
_
_printf("\n# 正常終了 #\n");
_return 0;
}
/* STDOUT:
1人目:
_ 国語の点数=99
_ 数学の点数=99
_ 理科の点数=99
2人目:
_ 国語の点数=88
_ 数学の点数=88
_ 理科の点数=88
3人目:
_ 国語の点数=77
_ 数学の点数=77
_ 理科の点数=77
4人目:
_ 国語の点数=66
_ 数学の点数=65
_ 理科の点数=64


___ 国語_数学_理科_合計
1人目_ 99__99__99_ 297
2人目_ 88__88__88_ 264
3人目_ 77__77__77_ 231
4人目_ 66__65__64_ 195

# 正常終了 #
続行するには何かキーを押してください . . .
*/

  • 質問者

    ampfffffさん

    2017/12/1917:09:09

    ありがとうございました!解決できました!

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる