学校の宿題です

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

学校の宿題です

#1

投稿記事 by 400828 » 16年前

画面から入力した10この数の合計・平均を表示しなさい。ただし、合計・平均を求める処理は関数に定義しなさい。
#include <stdio.h>
int* calc(int*);
void main()
{
int w[10],result[2];
int i;
for(i=0;i<10;i++){
scanf("%d",&w);
}
result=calc(w);xs
printf("合計:%d\n",result[0]);
printf("平均: %d\n",result[1]);
}
int* calc(int w[/url]){
int sum,avg,i,result[2];
sum=0;
for(i=0;i<10;i++){
sum = sum + w;
}
result[0]=sum;
result[1]=sum/10;
return result;
}

400828

Re:学校の宿題です

#2

投稿記事 by 400828 » 16年前

関数についてぜんぜんわからない、教えてください。

管理人

Re:学校の宿題です

#3

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

次からタグを使って字下げして下さいね。
詳しくは規約をご覧下さい。

アドレスを返したいのならポインタで受け取らないといけません。
int *p;
などを宣言し、pに入れてあげて下さい。
また、返しているのはローカル変数のアドレスで不適切です。

普通に配列を渡してやればいいのではないでしょうか?

以下にサンプルを書いておきます。この意味が理解できればこの課題も出来ると思います。
#include <stdio.h> 

void calc(int result[2], int input_dat[10]){
	result[0]=input_dat[0];
	result[1]=input_dat[9];
}	

int main(void){ 
	int result[2],input_dat[10]={0,1,2,3,4,5,6,7,8,9};
	calc(result,input_dat);
	printf("%d,%d\n",result[0],result[1]);
	return 0; 
}
 
 

Haru

Re:学校の宿題です

#4

投稿記事 by Haru » 16年前

もし管理人さんに提示して頂いた、サンプルが今は理解できないのであれば、

http://journal.mycom.co.jp/articles/200 ... index.html

ここを読んで見てください。

閉鎖

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