@TYSQUARE89
No caso de performance, deveria ser assim:
If tem custo de clock, sempre deve-se evitar ao máximo o uso do if, é regra básica para métodos de projeto de software.
int main(){
float velocidade, velmedia=0, maiorvel=0;
int ano, maiorano=0,cont=0;
char car;
printf("Digite n para sair ou s para continuar!\n");
scanf(" %c",&car);
// Se for n, nem exucuta o while, passa direto.
while(car!='n'){
printf("Digite o ano e a velocidade!\n");
scanf("%d%f", &ano , &velocidade);
if(velocidade>maiorvel){
maiorvel=velocidade;
velmedia+=velocidade;
}
if(ano>maiorano){
maiorano=ano;
}
cont++;
// Aguardar usuario digitar n para fechar o porgrama ou qualquer outra coisa e repetir o while
printf("Digite n para sair ou s para continuar!\n");
scanf(" %c",&car);
}
if(cont!=0){
printf("%.2f\n%i\n%.2f\n\n", maiorvel ,maiorano ,velmedia/cont);
}else{
printf("zero");
}
return 0;
}
Coloquei um printf para seu código ficar mais fácil de usar.
Só precisa usar flush se você for manipular stream de saída.
Código TESTADO.
adicionado 4 minutos depois
E se você tem certeza que vai executar pelo menos uma vez o while, faça assim:
int main(){
float velocidade, velmedia=0, maiorvel=0;
int ano, maiorano=0,cont=0;
char car;
do{
printf("Digite o ano e a velocidade!\n");
scanf("%d%f", &ano , &velocidade);
if(velocidade>maiorvel){
maiorvel=velocidade;
velmedia+=velocidade;
}
if(ano>maiorano){
maiorano=ano;
}
cont++;
// Aguardar usuario digitar n para fechar o porgrama ou qualquer outra coisa e repetir o while
printf("Digite n para sair ou s para continuar!\n");
scanf(" %c",&car);
}while(car!='n');
if(cont!=0){
printf("%.2f\n%i\n%.2f\n\n", maiorvel ,maiorano ,velmedia/cont);
}else{
printf("zero");
}
return 0;
}