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)

Jump to: navigation, search
#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;
}