プログラム指摘

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
sim
記事: 48
登録日時: 10年前

プログラム指摘

#1

投稿記事 by sim » 10年前

コード:


#include <stdio.h>
#define NUM 5
#define KAMOKU 3

int main(void)
{
	int ten[NUM][KAMOKU]={{3,98,30},{49,0,27},{12,69,9},{100,79,59},{20,48,19}};
	int i,j;
	int num;
	double wa,ave;
	
	printf("┌──────┬──────┬──────┬──────┬──────┐\n");
	printf("│ 番号 │科目A │科目B │科目C │ 合計 │\n");
	
	/*配列に格納した値を出力する処理*/
	/*人数と科目を出力する処理*/
	i=0;
	wa=0;
	while(i<NUM)
	{
		printf("├──────┼──────┼──────┼──────┼──────┤\n");
		printf("│%6d│", i+1);
		num=0;
		j=0;
		while(j<KAMOKU)
		{
			printf("%6d│",ten[i][j]);
			num=num+ten[i][j];
			j++;
		}
		printf("%6d│\n",num);
		wa=wa+num;
		i++;
	}
	
	printf("├──────┼──────┼──────┼──────┼──────┤\n");
	printf("│ 平均 ");
	
	/*平均を求める処理*/
	j=0;
	while(j<KAMOKU)
	{
		i=0;
		ave=0;
		while(i<NUM)
		{
			ave=ave+ten[i][j];
			i++;
		}
		printf("│%6.2f",(double)(ave/NUM));
		j++;
	}
	printf("│%6.2f│ \n",(double)(wa/NUM ));
	printf("└──────┴──────┴──────┴──────┴──────┘\n");
	
	return 0;
}

51行目と54行目の出力では、小数が出力できません。また、51行目のaveに平均ではないと指摘されました。



アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: プログラム指摘

#2

投稿記事 by みけCAT » 10年前

オフトピック
トピックを解決にせずに次々と新しいトピックを立てる行為は推奨されません。推奨されないかもしれません。
sim さんが書きました:51行目と54行目の出力では、小数が出力できません。
申し訳ないですが、意味がわかりません。
Wandboxではきちんと小数が出力できており、
計算結果もLibreOffice Calcでの計算結果と一致しています。

プログラムの出力(Wandboxからコピペ)

コード:

┌──────┬──────┬──────┬──────┬──────┐
│ 番号 │科目A │科目B │科目C │ 合計 │
├──────┼──────┼──────┼──────┼──────┤
│     1│     3│    98│    30│   131│
├──────┼──────┼──────┼──────┼──────┤
│     2│    49│     0│    27│    76│
├──────┼──────┼──────┼──────┼──────┤
│     3│    12│    69│     9│    90│
├──────┼──────┼──────┼──────┼──────┤
│     4│   100│    79│    59│   238│
├──────┼──────┼──────┼──────┼──────┤
│     5│    20│    48│    19│    87│
├──────┼──────┼──────┼──────┼──────┤
│ 平均 │ 36.80│ 58.80│ 28.80│124.40│ 
└──────┴──────┴──────┴──────┴──────┘
sim さんが書きました:また、51行目のaveに平均ではないと指摘されました。
変数名をaveではなく、例えばkamokuSumなどにするといいかもしれません。
添付ファイル
puroguramusiteki_test_20150822.ods
LibreOffice Calcでの計算
(9.97 KiB) ダウンロード数: 126 回
最後に編集したユーザー みけCAT on 2015年8月23日(日) 08:43 [ 編集 1 回目 ]
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

box
記事: 2002
登録日時: 14年前

Re: プログラム指摘

#3

投稿記事 by box » 10年前

オフトピック
ある問題が解決しないと次の質問ができない、というのは制約がちょっときつい感じがする。個人的には。
「推奨されません」っていうのは「褒められたもんじゃないよ」って言ってるわけで、
事実上「やっちゃダメ」と言ってるのに等しい。
解決できない問題が複数あるんだから、別に同時並行で質問してもいいじゃん、って思う。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: プログラム指摘

#4

投稿記事 by みけCAT » 10年前

オフトピック
box さんが書きました:ある問題が解決しないと次の質問ができない、というのは制約がちょっときつい感じがする。個人的には。
「推奨されません」っていうのは「褒められたもんじゃないよ」って言ってるわけで、
事実上「やっちゃダメ」と言ってるのに等しい。
解決できない問題が複数あるんだから、別に同時並行で質問してもいいじゃん、って思う。
具体的に過去ログから見つけることはできませんでしたが、前に複数のトピックを平行して立てる行為を批判していた人がいた気がします。
しかし、自分としてもその考え方には疑問を持っており、その方も
「きちんと全てのトピックを管理できるなら平行で質問してもいい」と言っていたと思います。
また、3トピック程度では文句をいうほど乱立しているわけでもないと思います。
よって、不適切な発言であったと考え、お詫びします。

ちなみに、このトピックの質問者のsimさんは、
トピックを解決にせずに放置する行為および相互リンクなしでのマルチポスト(疑惑)を何度も繰り返しています。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

閉鎖

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