解答例15-4-2

【問1】

#include <stdio.h>

struct s_data {		/* 成績データ */
	int max;		/* 最高点 */
	int min;		/* 最低点 */
	double avg;	/* 平均点 */
};

struct s_data seiset( int *p );

int main( void )
{
	struct s_data seiseki;
	int ten[] = { 78, 86, 56, 77, 47, 63, 94, 37, 50, 74, -1 };

	seiseki = seiset( ten );	/* 成績データの取得 */

	printf( "最高点 = %d\n", seiseki.max );
	printf( "最低点 = %d\n", seiseki.min );
	printf( "平均点 = %4.1f\n", seiseki.avg );

	return 0;
}

/*** 成績データの取得関数 ***/
struct s_data seiset( int *p )
{
	struct s_data ret;
	int i=0, goukei=0;

	ret.max = *p;
	ret.min = *p;
	while( *p != -1 ) {
		if( ret.max < *p )
			ret.max = *p;
		if( ret.min > *p )
			ret.min = *p;
		goukei += *p;
		i++;
		p++;
	}
	ret.avg = ( double ) goukei / i;

	return ret;
}

戻る


banner初心者のためのポイント学習C言語」
Copyright(c) 2000-2004 TOMOJI All Rights Reserved