#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float ts (int a) {
float tp;
tp=a*60;
return tp;
}
int ponto (float t) {
if (t < 180)
return 100;
else if (t >= 180 || t <= 300)
return 80;
else
return ((80-(t-5))/5);
}
int main()
{
int quantidade,c=0, p1, p2,p3,insc;
float tp1, tp2, tp3,t1,t2,t3;
puts ("Informe quantidade de equipes");
scanf ("%d", &quantidade);
puts ("Informe tempo padrao das tres etapas respectivamente em minutos");
scanf ("%f%f%f", &tp1, &tp2, &tp3);
tp1 = ts (tp1);
tp2 = ts (tp2);
tp3 = ts (tp3);
do {
puts ("Informe número de inscricao da equipe");
scanf ("%d", &insc);
puts ("Informe tempo das tres etapas respectivamente em minutos");
scanf ("%f%f%f", &t1, &t2, &t2);
t1 = ts (t1);
t2 = ts (t2);
t3 = ts (t3);
printf ("\nNº de inscricao: %d", insc);
t1 = abs (tp1-t1);
p1 = ponto (t1);
t2 = abs (tp2-t2);
p2 = ponto (t2);
t3 = abs (tp3-t3);
p3 = ponto (t3);
printf ("\nPontos obtidos na etapa 1: %d", p1);
printf ("\nPontos obtidos na etapa 2: %d", p3);
printf ("\nPontos obtidos na etapa 3: %d", p3);
printf ("\nTotal de pontos: %d",p1+p2+p3);
c++;
} while ( c < quantidade);
return 1;
}
为什么函数ponto
总是返回 100 而 int 总返回真值?我正在使用代码块...总共出现的值是真实值,但出现在 etapa 1,2,3 区域上的 de 值始终为 100...