アプリ版:「スタンプのみでお礼する」機能のリリースについて

よろしくお願いいたします。
プログラミングの勉強中です。

国語:78
算数:94
理科:68
社会:70
英語:75
合計点は385点です。

と表示されるプログラムを作り、数字は変えられるようにscanfを使用します。
自分で以下のように作ってみたのですが、合計だけがめちゃめちゃな数で出て来てしまいます。
どこが間違っているか教えていただけますか?

#include<stdio.h>

main()
{
intkokugo;
intsansuu;
intrika;
intsyakai;
inteigo ;
intsum = kokugo+sansuu+rika+syakai+eigo;

printf("国語:");
scanf("%d",&kokugo);
printf("算数:");
scanf("%d",&sansuu);
printf("理科:");
scanf("%d,&rika");
printf("社会:");
scanf("%d,&syakai");
printf("英語:");
scanf("%d,&eigo");


printf("合計点は%d点です。",sum);


}

A 回答 (1件)

#include<stdio.h>



void main()
{
/* とりあえず初期化 */
int kokugo = 0;
int sansuu = 0;
int rika = 0;
int syakai = 0;
int eigo = 0;
int sum = 0;

/* 元のプログラムでは点数が正しく表示されていたわけではなかった。*/
/* 入力していることがよくわかるようにした */
/* scanfでは,どこまでがどの引数なのかきちんと区別して考えよう */
printf("国語の点数を入力してください:");
scanf("%d",&kokugo);
printf("算数の点数を入力してください:");
scanf("%d",&sansuu);
printf("理科の点数を入力してください:");
scanf("%d",&rika);
printf("社会の点数を入力してください:");
scanf("%d",&syakai);
printf("英語の点数を入力してください:");
scanf("%d",&eigo);

sum = kokugo+sansuu+rika+syakai+eigo; /* 代入した後に足す */

printf("\n");

/* ここから表示 */

printf("国語:%d\n",kokugo);
printf("算数:%d\n",sansuu);
printf("理科:%d\n",rika);
printf("社会:%d\n",syakai);
printf("英語:%d\n",eigo);

printf("合計点は%d点です。\n",sum);


}
    • good
    • 0
この回答へのお礼

詳しく回答いただき、ありがとうございました。
おかげさまで問題点を解決することができました。
感謝しております。また質問させていただいたときはよろしくお願いいたします。

お礼日時:2007/06/25 15:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!