我需要解决这个练习。
我无法解决字母b)。
题:
使用结构 jogador (结构名称)和 selecao (结构名称)创建一个程序,该程序的名称为2 selecao(团队),每个名称为3个jogador(玩家)球队。
2个团队,每个都有3个玩家。
输入-Selecao Nome(团队名称)。
输入-Jogador Nome(玩家名称) -Jogador idade(球员年龄) -Jogador altura(球员身高)
输出-
a)未满18岁的球员人数。 b)每支球队的平均年龄 c)所有团队平均Heith
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct jogador {
char nome[50];
int idade;
float altura;
};
struct selecao { //struct aninhada
char pais[50];
struct jogador jog[3];
};
int main(){
int i=0,j=0,k=0; // indices
int count=0,countmedia=0; // countadores
int menores18=0; // indice condicao
float media=0,alturamedia=0,countaltura=0;// duas medias e um contador
struct selecao s[2];
for(j=0;j<2;j++) { // for para coletar dados das seleções
setbuf(stdin,NULL);
printf("Digite o nome da selecao n.%d :",j+1);
fgets(s[j].pais, 50, stdin);
struct jogador jog[3];
for(i=0;i<3;i++) { // for para coletar dados jogadores
setbuf(stdin,NULL);
printf("Digite o nome do jogador n.%d :",i+1);
fgets(jog[i].nome, 50, stdin);
printf("Digite a sua idade (somente número):");
scanf("%d",&jog[i].idade);
printf("Digite a sua altura (Ex. 1.70) :");
scanf("%f",&jog[i].altura);
}
for (k=0; k<2; k++) { // for para cálculos
if(jog[k].idade <18)
menores18++;
countmedia += jog[k].idade;
count++;
media = (float)countmedia/count;
countaltura += jog[k].altura;
alturamedia= (float)countaltura/count;
}
}
printf("a) O numero de jogadores menores de 18 anos eh: %d\n",menores18);
printf("b) A media de idade do jogadores eh: %f\n",media);
printf("c) A altura media dos jogadores eh: %f\n",alturamedia);
return 0;
}