#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; }
▼戻る▼
「初心者のためのポイント学習C言語」 Copyright(c) 2000-2004 TOMOJI All Rights Reserved