Solução: Problema do professor de terceiro ano (Márcio Trindade)
From AdonaiMedrado.Pro.Br
Revision as of 18:43, 5 June 2009 by 200.17.147.2 (Talk)
#include<stdio.h> int main(void) { struct student { char nome[51]; int resp; int nota; }; struct student aluno[100], troca; int i,j, gab, n, bin1, acum; float med=0; scanf("%d",&gab); scanf("%d",&n); for(i=0;i<n;i++) { scanf("%s",aluno[i].nome); scanf("%d",&(aluno[i].resp)); bin1 = gab&aluno[i].resp; acum=0; for(j=0;j<7;j++) acum += ((bin1>>j)&1); aluno[i].nota = acum; med+=acum; } for(i=0;i<n;i++) { for(j=i+1;j<n;j++) { if(aluno[i].nota>aluno[j].nota) { troca=aluno[i]; aluno[i]=aluno[j]; aluno[j]=troca; } } } printf("\n%d", aluno[i].nota); for(j=i;j>=0;j--) if(aluno[i].nota==aluno[i].nota) printf("\t%s",aluno[j].nome); printf("\n%d", aluno[0].nota); for(j=0;j<n;j++) if(aluno[j].nota==aluno[0].nota) printf("\t%s",aluno[j].nome); return 0; }