ページ 11

for文とscanfを使って点数を表示したい

Posted: 2010年9月23日(木) 17:42
by SI
このプログラムで点数をscanfを使って入力して表示したいです。
そこでfor文をつかってすべて入力したらループを抜けて終了というやりかたでやりたいです。
なのでこの↓の数字をscanfで入力したいわけです。
{73,59,92},
{52,95,70},
{22,19,31}



#include <stdio.h>
#define NINZU 3
#define KAMOKU 3

void main(void)
{
char kamoku[KAMOK[/url][10]={"国語","数学","英語"};
char name[NINZ[/url][10]={"太郎","次郎","三郎"};
int score[NINZ[/url][KAMOK[/url]={
{73,59,92},
{52,95,70},
{22,19,31}
};
int total[NINZ[/url];
double ave[NINZ[/url];
char lank[NINZ[/url];
int i,j;






よろしくお願いします。 画像

Re:for文とscanfを使って点数を表示したい

Posted: 2010年9月23日(木) 17:59
by バグ
よろしくお願いしますといわれても…
何が分からないのか質問文から全く読み取れないです。


エラーが出て解消方法が分からない?

forループの使用方法?

scanfの使用方法?


もう少し具体的に質問してください。

Re:for文とscanfを使って点数を表示したい

Posted: 2010年9月23日(木) 18:15
by SI
for文のループ方法とscanfの使用方法です。

3人の3科目の得点を入力したいのですが、どうすればいいのでしょうか。
下のようにやると太郎君の3科目の得点は表示されるのですが、あと2人の表示方法が思いつきません。

あと"太郎君の国語の点数は"と表示させて次に"数学の点数は"で最後に"英語の点数は"とやるにはどうすればいいんでしょうか。
下のやり方だと全部が国語の点数になります。

for(i=0;i<3;i++)
{
printf("太郎君の国語の点数は");
scanf("%d",&score[0]);
}

初心者なので馬鹿な質問かもしれませんがお願いします。

Re:for文とscanfを使って点数を表示したい

Posted: 2010年9月23日(木) 18:58
by パコネコ
char buff[100];
for(a=0;a<NINZU;a++)
for(b=0;b<KAMOKU;b++)
{
sprintf(buff,"%s君の%sの点数は",name[a],kamoku);
printf("%s",buff);
scanf("%d",&score[a]);
}
こんな感じですか?

===========
すいません
考えてみたら
printf("%s君の%sの点数は",name[a],kamoku);
でいいですね。
画像

Re:for文とscanfを使って点数を表示したい

Posted: 2010年9月23日(木) 19:14
by SI
ありがとうございます。
解決しました。