C言語の課題

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

C言語の課題

#1

投稿記事 by バットマン » 16年前

課題の問題は:配列tenに初期値として格納されている10人分のテストの得点の平均点を求めるプログラムを作成しなさい。
[使用する変数]int型i,goukei
ten[10](初期値:65,70,88,90,47,66,20,95,39,50)
<実行結果>
   平均点は63点です
    (平均は%d(整数)で出力してよい)のことなんですが・・・

私は、#include<sutdoi.h>

void main(void) {

int i,
double avg;
int ten[10]={65,70,88,90,47,66,20,95,39,50};
for(i=0;)
printf("平均は%dです\n"avg);
}
まで作りました。多分このままじゃダメだと思うのですが、この先どうやったらいいか分かりません。
どうやったらいいですか??

SCI

Re:C言語の課題

#2

投稿記事 by SCI » 16年前

>#include<sutdoi.h>
#include <stdio.h>です。

課題ということは、大学生か専門学生ですか?
「平均点を」とあるので、少なくともどこかで「合計」を計算しなくてはなりませんね。

たかぎ

Re:C言語の課題

#3

投稿記事 by たかぎ » 16年前

> どうやったらいいですか??

http://dixq.net/board/board.htmlを熟読することから始めてはどうでしょうか?

Dixq (管理人)

Re:C言語の課題

#4

投稿記事 by Dixq (管理人) » 16年前

まず、プログラムを書く前にどうすれば答えが出るか考えてみましょう。
平均の計算は紙に書いて計算すれば計算出来るでしょうか?
もし出来ればそれはどうやったのかを考えて、プログラムに置き換えてみましょう。
置き換えることが出来なければ、まず手計算の書いてみて下さい。

バットマン

Re:C言語の課題

#5

投稿記事 by バットマン » 16年前

専門学生です。皆さんに迷惑させて申し訳ございません。
まだC言語初心者なので、どうかやさしくお願いいたします。
for文は使いますか?

SCI

Re:C言語の課題

#6

投稿記事 by SCI » 16年前

バットマンさん
次からはちゃんと規則に従って投稿してくださいね。その方が回答も集まりますよ。

まず、「与えられたデータの平均値を計算する」という処理を、幾つかの手順に分けて日本語で書けますか?

バットマン

Re:C言語の課題

#7

投稿記事 by バットマン » 16年前

#include<stdio.h>

void main(void) {

int i,
double avg;
int ten[10]={65,70,88,90,47,66,20,95,39,50};
までは大丈夫ですか?

SCI

Re:C言語の課題

#8

投稿記事 by SCI » 16年前

double avg なんていう変数を使ってもいいのですか?
課題文を読むと、使用する変数が指定されているようですが。

SooA

Re:C言語の課題

#9

投稿記事 by SooA » 16年前

何となくは解っていると思いますが、
以下の文が何を表しているか調べてみましょう。

int ten[10]={65,70,88,90,47,66,20,95,39,50};

勉強しているということは手元に幾つかの
資料や教科書のような物があると思います、
それらの資料には必ずこの問題を解くための
内容が記されています。

まずはデータを自由に扱えるようになるための
知識が必要ですので、例えば変数 goukei に上の配列から
88という数値を引き出して代入するにはどうすれば
良いのか調べてみましょう。

コスモ

Re:C言語の課題

#10

投稿記事 by コスモ » 16年前

よく見てください。
int i;
である筈のところが
int i,となっていますよ。
これでは、ビルドした際にエラーになってしまいます。

それに、for文の使い方を理解してますか?

>for(i=0;)
これだけでは条件が足りません。

それに、変数の型が一致していませんが…?

ざっと見ただけでもこれだけエラーや期待しない挙動をする要素があります。

conio

Re:C言語の課題

#11

投稿記事 by conio » 16年前

-------------------------------------------------------
[使用する変数]int型i,goukei
ten[10](初期値:65,70,88,90,47,66,20,95,39,50)
-------------------------------------------------------
課題の条件はコレですよね?
ならば"double型"とか、"avg"という変数名は駄目だと思うのですが。
条件を無視してしまっていますよ。



とりあえず、プログラムでは無い場合、どのように計算するかを考えましょう。

5人分のテストの平均点を求める場合。
A:60点
B:50点
C:92点
D:78点
E:20点

(60+50+92+78+20)÷5= 平均点は60点。

----------------------------------------------------------------------

int ten[5] = {60,50,92,78,20};
int goukei = 0;

goukei = ten[0] + ten[1] + ten[2] + ten[3] + ten[4];
printf("score = %d\n",goukei/5);
----------------------------------------------------------------------
馬鹿正直にやるとこうなります。
ただ無駄がある部分があるのでどうすればいいか考えてみましょう。

SCI

Re:C言語の課題

#12

投稿記事 by SCI » 16年前

バットマンさん
私の発言が無視されているあたり、答えが分かってしまえばそれでいいのでしょうか……
もっとも、手順を考える作業はもうconioさんがやってくれましたが、本来は自分でやるものです。

バットマン

Re:C言語の課題

#13

投稿記事 by バットマン » 16年前

今考えています!!!

SCI

Re:C言語の課題

#14

投稿記事 by SCI » 16年前

これはこれは、失礼致しました。

バットマン

Re:C言語の課題

#15

投稿記事 by バットマン » 16年前

すみません。

バットマン

Re:C言語の課題

#16

投稿記事 by バットマン » 16年前

iは使わないのですか?

コスモ

Re:C言語の課題

#17

投稿記事 by コスモ » 16年前

for文かwhile文を使ってconioさんのコードを更に簡潔に出来ますよ。
for文やwhile文の使い方は自分で調べてください。
その時にiが必要になります。

バットマン

Re:C言語の課題

#18

投稿記事 by バットマン » 16年前

#include<stdio.h>

void main(void) {

int ten[10] = {60,70,88,90,47,66,20,95,39,50};
int goukei = 0;
int i;

for(i=0;i<10; i=i+1) {
ten=i+goukei
printf("goukei = %d\n",goukei/10);
}
エラーが出ます。

バットマン

Re:C言語の課題

#19

投稿記事 by バットマン » 16年前

iを使うとgoukeiの役目がないような気がするんですけど、goukeiはどう使うのですか?

SCI

Re:C言語の課題

#20

投稿記事 by SCI » 16年前

バットマンさん
規約を読んで、
タグを使うようにしてください。

>ten=i+goukei
ステートメントにセミコロンがないですね。

ただ、この式だと「合計」を計算していることにはならないので「tenをgoukeiに足していく」というようにしてみてください。

バットマン

Re:C言語の課題

#21

投稿記事 by バットマン » 16年前

とは?
足しても1つエラー出ます。

SCI

Re:C言語の課題

#22

投稿記事 by SCI » 16年前

バットマンさん
規約を読んでください。

最後に中カッコ閉じ}が足りません。
エラーが出たときは、エラーの内容も書くようにしてくださいね。

バットマン

Re:C言語の課題

#23

投稿記事 by バットマン » 16年前

「tenをgoukeiが分からないです。

SooA

Re:C言語の課題

#24

投稿記事 by SooA » 16年前

1.一つの命令の閉めには ; が付きます。

ten=i+goukei ←付いてない

2.goukei に値を入れるのに i と goukei を足して
 本来足すべきものに代入しています。

3. { } がどんな役割を持つのか調べてみましょう。


あと少しです。

ラストは無駄を省いて C言語らしさを出しましょう。

hss12

Re:C言語の課題

#25

投稿記事 by hss12 » 16年前

goukei =
にしないとダメです。

バットマン

Re:C言語の課題

#26

投稿記事 by バットマン » 16年前

「tenをgoukeiに足していく」が分かりません。

コスモ

Re:C言語の課題

#27

投稿記事 by コスモ » 16年前

>ten=i+goukei
最後に;がありませんね。
それとこのコードは何を意図したものでしょうか?
少なくともこのコードでエラーを修正したものをビルドして実行するとは合計は0になってしまいます。

また、printf関数がforループの中に入っていますがこれだと10回出力されてしまいます。

int ten[10] = {65,70,88,90,47,66,20,95,39,50};
では無いですか?

SCI

Re:C言語の課題

#28

投稿記事 by SCI » 16年前

バットマンさん
「tenにgoukeiを足していく」について。

最初、goukeiは0ですね?

i が 0 のとき、goukei = goukei + ten[0];
i が 1 のとき、goukei = goukei + ten[1];
    :
    :

と、足していけば、ten[0]からten[9]までの合計が求まります。

SCI

Re:C言語の課題

#29

投稿記事 by SCI » 16年前

と、変な書き方をしましたが、要はten[0]、ten[1]、……、ten[9]までを、forを使って足していけばいいのです。
そのとき、添え字は「i」で表現できますね。

バットマン

Re:C言語の課題

#30

投稿記事 by バットマン » 16年前

#include<stdio.h>

void main(void) {

int ten[10] = {60,70,88,90,47,66,20,95,39,50};
int goukei = 0;
int i;

for(i=0;i<10; i=i+1) {
ten=i+goukei;
goukei = goukei + ten[0];
goukei = goukei + ten[1];
goukei = goukei + ten[2];
goukei = goukei + ten[3];
goukei = goukei + ten[4];
goukei = goukei + ten[5];
goukei = goukei + ten[6];
goukei = goukei + ten[7];
goukei = goukei + ten[8];
goukei = goukei + ten[9];
printf("goukei = %d\n",goukei/10);
}まで出来ましたがエラー1です。

バットマン

Re:C言語の課題

#31

投稿記事 by バットマン » 16年前

for(i=0;i<ten[10]; i=i+goukei) {
はどうですか??

SCI

Re:C言語の課題

#32

投稿記事 by SCI » 16年前

>for(i=0;i<ten[10]; i=i+goukei) {
>はどうですか??

発想はいいのですが、それだとカウンタのiが変化しない上、合計も計算できません。

hss12

Re:C言語の課題

#33

投稿記事 by hss12 » 16年前

60を65に変えましょう。
おそらく}の書き忘れです。
for(i=0;i<10; i=i+1) {
であっていますよ。

バットマン

Re:C言語の課題

#34

投稿記事 by バットマン » 16年前

}はどこに付けたらいいでしょうか?
for(i=0;i<10; i=i+1) { の下に付けてもだめでした。

コスモ

Re:C言語の課題

#35

投稿記事 by コスモ » 16年前

これだとfor文を生かせていませんね…。
もっとコードは短くなりますよ。
それと、コードは
<pre></pre>タグで囲みましょう。
(<>は半角)
}は

printf("goukei = %d\n",goukei/10);
}
}←ここにつけてください。

SooA

Re:C言語の課題

#36

投稿記事 by SooA » 16年前

実は必要ありません。

バットマン

Re:C言語の課題

#37

投稿記事 by バットマン » 16年前

printf("goukei = %d\n",goukei/10);
}
}←ここにつけてください。
付けるとエラー2に・・・

SCI

Re:C言語の課題

#38

投稿記事 by SCI » 16年前

バットマンさん
だから、どんなエラーが出るのですか。ちゃんと書いてください。

バットマン

Re:C言語の課題

#39

投稿記事 by バットマン » 16年前

LIBCD.lib(wincrt0.obj) : error LNK2001: 外部シンボル "_WinMain@16" は未解決です
Debug/CLS06.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー

CLS06.exe - エラー 2、警告 0

コスモ

Re:C言語の課題

#40

投稿記事 by コスモ » 16年前

エラーを具体的に書いてください。
このままだと良く分からないやり取りとなってしまいそうなので…

SCI

Re:C言語の課題

#41

投稿記事 by SCI » 16年前

設定が「Windowsアプリケーション」になってませんか?
プロジェクトの設定を「コンソールアプリケーション」にしなければならないのですが、やり方は分かりますか?

バットマン

Re:C言語の課題

#42

投稿記事 by バットマン » 16年前

具体的にどうやってエラーを見るのですか?
本当に初心者で申し訳ございません。

コスモ

Re:C言語の課題

#43

投稿記事 by コスモ » 16年前

WIN32アプリケーションとしてやってしまっていますか?
課題はコンソールアプリケーションのようですが。

バットマン

Re:C言語の課題

#44

投稿記事 by バットマン » 16年前

今の状態でも設定は変えれますか?

コスモ

Re:C言語の課題

#45

投稿記事 by コスモ » 16年前

それは無理だと思います。
どこかにプロジェクトのソースコードをコピペしておいて、
新しく作成したコンソールアプリケーションのプロジェクトにコピペすれば良いと思います。

たかぎ

Re:C言語の課題

#46

投稿記事 by たかぎ » 16年前

まだ処理系も不明の状況ですからね。

> 今の状態でも設定は変えれますか?

規約を守って質問すれば、可能性はあります。

バットマン

Re:C言語の課題

#47

投稿記事 by バットマン » 16年前

コピペしました・・・

コスモ

Re:C言語の課題

#48

投稿記事 by コスモ » 16年前

ビルド出来ましたか? 

バットマン

Re:C言語の課題

#49

投稿記事 by バットマン » 16年前

エラー1・・・

コスモ

Re:C言語の課題

#50

投稿記事 by コスモ » 16年前

どんなエラーですか?

fatal error C1075: 左側 中かっこ '{' に対応するものが '.\○○.cpp' で見つかる前に EOF が検出されました。
このエラーですか?

バットマン

Re:C言語の課題

#51

投稿記事 by バットマン » 16年前

fatal error C1004: 予期せぬ EOF が検出されました。
のことです。

コスモ

Re:C言語の課題

#52

投稿記事 by コスモ » 16年前

括弧はちゃんと閉じてますか?

あとコンパイラと処理系(OS)は何をお使いですか?

バットマン

Re:C言語の課題

#53

投稿記事 by バットマン » 16年前

括弧とは?
ビスタです。

コスモ

Re:C言語の課題

#54

投稿記事 by コスモ » 16年前

括弧は →{ }
の事です。

コンパイラは何ですか?

バットマン

Re:C言語の課題

#55

投稿記事 by バットマン » 16年前

コンパイラってどうわかるんでしょうか?

SooA

Re:C言語の課題

#56

投稿記事 by SooA » 16年前

#include <stdio.h> 

void main(void)
{
	int i, goukei=0;
	int ten[10]={ 60,70,88,90,47,66,20,95,39,50 }; // 問題のある場所1

	for(i=0;i<10; i=i+1) {		// 問題のある場所2
		ten=i+goukei;		// 問題のある場所3

	printf("goukei = %d\n",goukei/10);
}


途中まで遡ってっみましょう。
for文に { } が無い場合は次にある命令が繰り返され、
{ } が付いた場合はその中身が繰り返されます。
プログラム内では { } は同じ数だけ必要です。
つまり { を使用した場合は必ず } で閉じる必要があります。

今回の場合は必要無い { を付けている事に原因があります。

バットマン

Re:C言語の課題

#57

投稿記事 by バットマン » 16年前

#include<stdio.h>

void main(void) {

int ten[10] = {65,70,88,90,47,66,20,95,39,50};
int goukei = 0;
int i;

for(i=0;i<ten[10]; i=i+1){
ten=i+goukei;
}
printf("goukei = %d\n",goukei/10);
}
これで一様エラーなしですが、ビルドしたらgoukei=0としか表示されなく、しかも動作が停止になりましたとかウィンドウズからメッセージが来ます。

御津凪

Re:C言語の課題

#58

投稿記事 by 御津凪 » 16年前

1. 配列の範囲外を参照している
2. goukei には何も代入されていない(0 のまま)

配列や for 文の使い方は覚えていますか?
近くに教科書などがあればそこ(配列や for 文の使い方)を読み返してみてください。

box

Re:C言語の課題

#59

投稿記事 by box » 16年前

> これで一様エラーなしですが、

一様ではなくて、一応(いちおう)です。

ビルドしたらgoukei=0としか表示されなく、

> 	ten=i+goukei;

テストの素点であるtenを書きつぶしてはいけません。
「goukei」にtenを足し込むのです。

バットマン

Re:C言語の課題

#60

投稿記事 by バットマン » 16年前

#include<stdio.h>

void main(void) {

int ten[10] = {65,70,88,90,47,66,20,95,39,50};
int goukei = 0;
int i;

for(i=0;i<ten[10]; i=i+1);
goukei=i+ten;
printf("平均は%d\n",goukei/10);
}
でビルドをすると平均は-19572637と変な数に・・・。

SCI

Re:C言語の課題

#61

投稿記事 by SCI » 16年前

何度も言いますが、http://dixq.net/board/board.htmlに目を通してください。
本来、規約を無視した投稿は無視されます(ここの人たちは寛大なようですが)

>goukei=i+ten;
この式が何をしているのか理解できていますか?

box

Re:C言語の課題

#62

投稿記事 by box » 16年前

> 	for(i=0;i<ten[10]; i=i+1);

なぜ、ten[10]という、配列定義範囲外の領域を指定するのですか?
10回繰り返すのですから、ただの10です。
最後のセミコロンを付けてはいけません。

> 	goukei=i+ten;

i+ にこだわってらっしゃいますね。
goukei に 素点 ten を加えた結果を、新たな goukeiとするのです。

バットマン

Re:C言語の課題

#63

投稿記事 by バットマン » 16年前

申し訳ございません。
goukeiniにi+tenを入れるですか?

SooA

Re:C言語の課題

#64

投稿記事 by SooA » 16年前

for文を分解すると以下の様になります。
for(
	i=0;		// 最初の i の値は 0
	i < A;		// i が A より小さい値の間だけループする
	i++		// ループ毎に計算する部分
)
C言語ではディクリメントと言って
i=i+1 の様な 1 だけ加算する場合 i++ と記述できます。

for文の後ろに ; は必要ありません。
i はループを制御するためだけの変数なのに
goukei に何故 i を加算する必要があるのか?
また前回代入した値を上書きしています。
足していくのだから
goukei = 前回の値 + 今回の値;
となります。

バットマン

Re:C言語の課題

#65

投稿記事 by バットマン » 16年前

セミコロンつけないとエラーでます

御津凪

Re:C言語の課題

#66

投稿記事 by 御津凪 » 16年前

> goukeiniにi+tenを入れるですか?

少し落ち着きましょう。
goukei には配列 ten の各値を足していけばいいのですから、
goukei = goukei + ten; // goukei += ten; でも可

を、for ループ内で行なうだけです。

box

Re:C言語の課題

#67

投稿記事 by box » 16年前

> goukeiniにi+tenを入れるですか?

i の値は点数ではないです。ですから、goukeiに加えてはいけません。
goukeiに加えていくのは、tenです。

SCI

Re:C言語の課題

#68

投稿記事 by SCI » 16年前

>C言語ではディクリメントと言って
>i=i+1 の様な 1 だけ加算する場合 i++ と記述できます。

一応、「インクリメント」ですね。

conio

Re:C言語の課題

#69

投稿記事 by conio » 16年前

"goukei"を財布、そして"65"や"70"をお金だと思ってください。

そのように考えた場合、
「財布の中に65円を入れる」
「財布の中に70円を入れる」というのは下記のようになります。これは分かりますか?
------------------------------------------------
goukei += 65;
goukei += 70;
------------------------------------------------


しかし、上の場合は、『財布を小銭の中に入れよう』としています。無茶苦茶です。
大体こんな感じでしょうか。
------------------------------------------------
65 += goukei;
70 += goukei;
------------------------------------------------



そして、プログラムのおかしなところを指摘します。
-------------------------------
for(i=0;i<ten[10]; i=i+1){ 
ten=i+goukei; 
}
-------------------------------
①10個の配列の場合、添え字が10の要素は存在しません。0から9までです。
ten[0]、ten[1]、ten[2]、ten[3]、・・・・・ ten[7]、ten[8]、ten[9]。 存在しない⇒ten[10]

②上にも書いたように、for文の中身がおかしいです。
計算するならばこのようにするべきです。
[/url]の中の数字は1ずつ増えてますよね?これをfor文にしてみて下さい。
goukei += ten[0] (ten[0] = 65)
goukei += ten[1] (ten[1] = 70)
goukei += ten[2] (ten[2] = 88)
goukei += ten[3] (ten[3] = 90)
goukei += ten[4] (ten[4] = 47)
goukei += ten[5] (ten[5] = 66)
goukei += ten[6] (ten[6] = 20)
goukei += ten[7] (ten[7] = 95)
goukei += ten[8] (ten[8] = 39)
goukei += ten[9] (ten[9] = 50)

th

Re:C言語の課題

#70

投稿記事 by th » 16年前

for文は
for(初期値;継続値;増加値){ ←セミコロンではなく { ←ですよ
【処理】
}

という風に使います

SooA

Re:C言語の課題

#71

投稿記事 by SooA » 16年前

>一応、「インクリメント」ですね。

うおっ、
すんません訂正ありがとうございます。
何で逆に・・・

バットマン

Re:C言語の課題

#72

投稿記事 by バットマン » 16年前

#include<stdio.h>

void main(void) {

int ten[10] = {65,70,88,90,47,66,20,95,39,50};
int goukei = 0;
int i;

for(i=0;i<9;i=i+1){
goukei += ten}

printf("平均は%d\n",goukei/10);
}
こうゆう事ですか?

SCI

Re:C言語の課題

#73

投稿記事 by SCI » 16年前

>for(i=0;i<9;i=i+1){

すごく惜しいです。

for(i=0;i<10;i=i+1){

としてみてください。

コスモ

Re:C言語の課題

#74

投稿記事 by コスモ » 16年前

for(i=0;i<9;i=i+1)←凄く惜しいです。
これだとten[0]からten[8]までのforループになってしまいます。

バットマン

Re:C言語の課題

#75

投稿記事 by バットマン » 16年前

#include<stdio.h>

void main(void) {

int ten[10] = {65,70,88,90,47,66,20,95,39,50};
int goukei = 0;
int i;

for(i=0;i<10;i=i+1){
goukei += ten
}←に}やってもエラーが出てしまいます。

printf("平均は%d\n",goukei/10);
}

SCI

Re:C言語の課題

#76

投稿記事 by SCI » 16年前

それからもう一つ。
goukei += ten}

ここにセミコロンが足りません。
goukei += ten;}
ですね。

SCI

Re:C言語の課題

#77

投稿記事 by SCI » 16年前

再三にわたる指摘ですが、なぜ規約を読まないのですか。

バットマン

Re:C言語の課題

#78

投稿記事 by バットマン » 16年前

できまたーーー!!!
みなさん、本当に親切にどうもありがとうございました。
本当に助かりました。

conio

Re:C言語の課題

#79

投稿記事 by conio » 16年前

少し違います。
条件を見てください。

『i < 9』
これは、「iが9より小さい場合」という意味です。

これが成り立つのはiが0~8までですよね?
つまりten[9]は足されずに除外されてしまいます。

あと、tenの後ろのセミコロンがありません。

もうひとつ、他のスレッドで『構造体』に関する質問もされていらっしゃるようですが、
どうも基礎的な事への理解が十分ではない箇所があるように思います。
参考書があるのならば、もう一度復習したほうが効率よく学べると思います。

SooA

Re:C言語の課題

#80

投稿記事 by SooA » 16年前

for(i=0;i<9;i=i+1){

次にある命令だけループさせる場合 { は必要ありません。

goukei += ten}

折角つけた ; はどこへ?
また { を外した場合、対する } も必要ありません。

ちなみにインデントは使っていますか?
同じ結果が出せても読みやすいプログラムにする事は
やっておいて損はありません。

NoName

Re:C言語の課題

#81

投稿記事 by NoName » 16年前

質問者は課題が解決してしまえばいいみたいだし、もうここを見てないよ。何を言っても無駄。

バットマン

Re:C言語の課題

#82

投稿記事 by バットマン » 16年前

何を言ってるんですか!!!
ちゃんとやってますよ。

御津凪

Re:C言語の課題

#83

投稿記事 by 御津凪 » 16年前

> 何を言ってるんですか!!!
> ちゃんとやってますよ。

では、規約を読んだ上で書き込みをしているのでしょうか?

「規約を読んでください」という指摘に、反応のないような(規約を呼んだと思えない)書き込みでは、
そういわれても仕方がないです。



で、改めて聞きますが、規約を読みましたか?

次回質問する時は今度こそ守ってください。

バットマン

Re:C言語の課題

#84

投稿記事 by バットマン » 16年前

は~い

たかぎ

Re:C言語の課題

#85

投稿記事 by たかぎ » 16年前

ここまでひどい質問者にまともに対応するのは、寛大とか親切とかではなく、むしろ相手を馬鹿にしているようなものです。

ジョーカー

Re:C言語の課題

#86

投稿記事 by ジョーカー » 16年前

あなたたちは考え方が堅い(笑)

hss12

Re:C言語の課題

#87

投稿記事 by hss12 » 16年前

ちなみにもし最初に書いていたdouble avg;を使うのなら以下のようになります。
#include<stdio.h>
int main(void) {
  int i;
  int goukei = 0;
  double avg;
  int ten[10]={65,70,88,90,47,66,20,95,39,50};

  for(i=0; i<10; i++)
    goukei += ten;
  avg = goukei/10;
  printf("平均は%fです。\n",avg);
}

kazuoni

Re:C言語の課題

#88

投稿記事 by kazuoni » 16年前

ものすごいスレですねw
初めてきて、「つい規約読んでませんでした!」っていうのは、
「次に投稿する際には規約違反を読んでくださいね。」
っとつけて、回答に入るっで自分はいいと思いますが・・・
ここまできてしまうと回答をしないほうが・・・っとも思ってしました。。

SCIさん、conioさん、cosmoさん、SooAさん・・・がここまで一生懸命になってくれたのですが、
自分的には、
「まず、入門ページを読んできて、それから再度質問してください。」
っとしたほうがちゃんと実力が付く気がします。
レスの経過を見ていると、入門書の一番最初のほうに書いてある事を回答してますが、
本人がまず数ページ読めばいい話ですしね^^;

余計なことですので、お気に障りましたら、削除してください。
ただ自分の考えを書きたかっただけですので。。
削除キー:kazuoni

lbfuvab

Re:C言語の課題

#89

投稿記事 by lbfuvab » 16年前

しょうがないですねぇ。答え載せますよ。
#include<stdio.h>
#include<stdarg.h>

int PutStringWithFormat(char *String,int *Reserved, ...){
	char Buf[1024];
	va_list VaList;
	
	va_start(VaList,Reserved);
	vsprintf(Buf,String,VaList);
	va_end(VaList);
	
	fputs(Buf,stdout);
	return 0;
}

int main(){
	int ten[10]={65,70,88,90,47,66,20,95,39,50};
	int i,gokei;
	
	i^=i,gokei^=gokei;
	
	LOOP_START:
		*(&gokei)+=ten;
	if(++i<10) goto LOOP_START;
	
	PutStringWithFormat("平均点は%d点です\n",NULL,gokei/i);
	return 0;
}


とりあえず、BCCではちゃんと動きますので悪しからず。

上級者

無題

#90

投稿記事 by 上級者 » 16年前

こいつ面白いとでも思ってんのか?

通りすがり

Re:無題

#91

投稿記事 by 通りすがり » 16年前

再三の指摘にも関わらず、規約を守らない質問者にここまで何度も懇切丁寧に対応する事は、
親切などではなく、自分も規約違反を助長していることになると思いますよ。

上級者

Re:無題

#92

投稿記事 by 上級者 » 16年前

終わった話題を引きずるお前もどうかと思う

lbfuvab

Re:C言語の課題

#93

投稿記事 by lbfuvab » 16年前

>>上級者様
私の考えはこの事を通じて自分で考える大切さを知っていただければ良いな、という事です。
誤解させる様な書き方をしてしまい、本当に申し訳ありません。

上級者

Re:C言語の課題

#94

投稿記事 by 上級者 » 16年前

>>lbfuvabさん
勘違いしてるかも知れんが俺はただ煽ったんじゃないぞ。
「自分で考える」こともしないトピ主に対して「自分で考える大切さを知っていただ」くためのサンプルを作ってやるなんて、それこそ

 再三の指摘にも関わらず、規約を守らない質問者にここまで何度も懇切丁寧に対応する事は、
 親切などではなく、自分も規約違反を助長していることになると思いますよ。

通りすがりの言うとおりだよ。

Dixq (管理人)

Re:C言語の課題

#95

投稿記事 by Dixq (管理人) » 16年前

複数の名前を使ってコメントすることは規約違反です。規約を守った投稿をお願いします。
また、丁寧語での投稿をお願いします。

皆様せっかく丁寧に回答してくださっているのに、あまりこのようなマイナスな事は言いたくは無いのですが、
どう指摘しても規約を読まない質問者のトピックには回答しない事も大事では無いかと思います。

また、lbfuvabさんの回答は、私は規約違反を助長しているように感じませんでした。
課題はもう完成しているわけですし、自分が作った解答と、人が作った(ある意味わざと難しくしてある?)回答があったら、前者を採用するでしょう。
そういう意味で自分で考える大切さがわかるのでは無いかと感じました。

閉鎖

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