函式與結構體
阿新 • • 發佈:2018-11-17
函式與結構體
例子:如何使用函式返回一組學生的平均成績與不及格人數;
思考:慕課網上使用結構體作為函式的輸入引數,利用指標返回多個引數;然後就思考,能不能使用結構體返回多個引數呢,結果是可以的,程式碼如下:
#include <stdio.h>
using namespace std;
typedef struct student
{
const char *name;
int id;
float score;
}student; //定義student型別的資料結構
typedef struct aver
{
float av;
int c;
}aver; //定義aver型別的資料結構
student boy[3]={
{“Li”,1,76},
{“Feng”,2,86},
{“Bo”,3,46}
}; //對學生初始化
aver ave(struct student *p,int n)
{
aver a={0,0};
float sum=0;
for(int i=0;i<n;++i)
{
if(p->score<60)
a.c++;
sum+=p->score;
p++;
}
a.av=sum/n;
return a;
}
int main()
{
aver averagr={0,0};
averagr=ave(boy,3);
printf(“不及格人數為:%d\n平均成績為:%.2f”,averagr.c,averagr.av);
return 0;
}