//コピペしたので改行がおかしいことになっておりすいません。
//このプログラムでコンパイルを行うと実行結果が平均=-858993・・・となりました。
//また評価=フになってしまいます。これはどこが間違っているのでしょうか?
/*****************************************************
得点と平均の評価
*****************************************************/
#include<stdio.h>
void main()
{
//変数の宣言
int kokugo; //国語の点
int suugaku; //数学の点
int eigo; //英語の点
double ave; //平均点
char lank; //評価
//代入
kokugo=73;
suugaku=59;
eigo=92;
ave=74.7;
lank='B';
//表示
printf("国語=%d点\n",kokugo);
printf("数学=%d点\n",suugaku);
printf("英語=%d点\n",eigo);
printf("平均=%if点\n評価=%c\n",ave,lank);
}
初歩の初歩ですがこのプログラムでコンパイルしたら・・・
Re: 初歩の初歩ですがこのプログラムでコンパイルしたら・・・
>printf("平均=%if点\n評価=%c\n",ave,lank);
%ifではなくて%lfです。
エルエフです。
%ifではなくて%lfです。
エルエフです。
Re: 初歩の初歩ですがこのプログラムでコンパイルしたら・・・
そもそもprintfでは%lfは使いません.%fを使います.taketoshi さんが書きました:%ifではなくて%lfです。
個人的に凄く納得する説明:http://www.kouno.jp/home/c_faq/c15.html#2
Re: 初歩の初歩ですがこのプログラムでコンパイルしたら・・・
平均というのは、全部の点数を合計して3で割ることに意味があるのではないでしょうか。
即値を代入してどうするんでしょうか。
即値を代入してどうするんでしょうか。
Re: 初歩の初歩ですがこのプログラムでコンパイルしたら・・・
推測ですが
プログラムがうまくいかないので
どこに問題があるかを調べるため
計算部分をとりあえず除いて、直接、値をいれてみた段階のモノではないでしょうか?
プログラムがうまくいかないので
どこに問題があるかを調べるため
計算部分をとりあえず除いて、直接、値をいれてみた段階のモノではないでしょうか?
Re: 初歩の初歩ですがこのプログラムでコンパイルしたら・・・
みなさんありがとうございます。
皆さんの言ったとおりlfがifになっていました。
こんな小さい質問で回答してくれた方に感謝です^^;
皆さんの言ったとおりlfがifになっていました。
こんな小さい質問で回答してくれた方に感謝です^^;
Re: 初歩の初歩ですがこのプログラムでコンパイルしたら・・・
%.1f が %if になっていたのではありませんか?たくみ さんが書きました:皆さんの言ったとおりlfがifになっていました。
本当に %f で満足できますか?