初歩の初歩ですがこのプログラムでコンパイルしたら・・・

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
たくみ

初歩の初歩ですがこのプログラムでコンパイルしたら・・・

#1

投稿記事 by たくみ » 12年前

//コピペしたので改行がおかしいことになっておりすいません。
//このプログラムでコンパイルを行うと実行結果が平均=-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);
}

taketoshi
記事: 222
登録日時: 13年前
住所: 日本国

Re: 初歩の初歩ですがこのプログラムでコンパイルしたら・・・

#2

投稿記事 by taketoshi » 12年前

>printf("平均=%if点\n評価=%c\n",ave,lank);

%ifではなくて%lfです。

エルエフです。

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: 初歩の初歩ですがこのプログラムでコンパイルしたら・・・

#3

投稿記事 by beatle » 12年前

taketoshi さんが書きました:%ifではなくて%lfです。
そもそもprintfでは%lfは使いません.%fを使います.
個人的に凄く納得する説明:http://www.kouno.jp/home/c_faq/c15.html#2

初級者
記事: 200
登録日時: 13年前

Re: 初歩の初歩ですがこのプログラムでコンパイルしたら・・・

#4

投稿記事 by 初級者 » 12年前

平均というのは、全部の点数を合計して3で割ることに意味があるのではないでしょうか。
即値を代入してどうするんでしょうか。

Ryo

Re: 初歩の初歩ですがこのプログラムでコンパイルしたら・・・

#5

投稿記事 by Ryo » 12年前

推測ですが

プログラムがうまくいかないので
どこに問題があるかを調べるため
計算部分をとりあえず除いて、直接、値をいれてみた段階のモノではないでしょうか?

たくみ

Re: 初歩の初歩ですがこのプログラムでコンパイルしたら・・・

#6

投稿記事 by たくみ » 12年前

これは、直接値を入れて間違いを探すためにプログラムミングしました。
(参考書のプログラムです)

アバター
Cr
記事: 93
登録日時: 12年前

Re: 初歩の初歩ですがこのプログラムでコンパイルしたら・・・

#7

投稿記事 by Cr » 12年前

正しい答えはもう皆さんが書いてくれてるので省略します。

評価の方は

コード:

printf("平均=%if点\n%d評価=%c\n",ave,lank);
とやったところ「評価」の前に良く分からない数字が並び「評価=B」と表示されました
おそらく%ifが正しくないのでaveの値の一部が残っていたのではないでしょうか?

コード:

printf("平均=%if点\n",ave);
printf("評価=%c\n",lank);
これでも評価の方は正しい値が出ました

たくみ

Re: 初歩の初歩ですがこのプログラムでコンパイルしたら・・・

#8

投稿記事 by たくみ » 12年前

みなさんありがとうございます。
皆さんの言ったとおりlfがifになっていました。
こんな小さい質問で回答してくれた方に感謝です^^;

かずま

Re: 初歩の初歩ですがこのプログラムでコンパイルしたら・・・

#9

投稿記事 by かずま » 12年前

たくみ さんが書きました:皆さんの言ったとおりlfがifになっていました。
%.1f が %if になっていたのではありませんか?
本当に %f で満足できますか?

閉鎖

“C言語何でも質問掲示板” へ戻る