不知道问题出在哪里 也能够按逻辑输出和他的样例输出是一样的,总是部分正确
下面是我自己写的代码
#include<stdio.h>
int main()
{
int t = 1;
int x = 5;
float y = 29.6;
int count = 0;
float d = 0;
float m = 0;
scanf("%d", &t);
if (t>10||t<1)
{
goto again;
}
while (count < t)
{
scanf("%d%f", &x, &y);
if (x>7||x<1||y<0||y>50)
{
goto again;
}
if (x == 5)
{
if (y >= 200 / 8.38)
{
d = 0.4*(y - (200 / 8.38));
d = (int)(d100.0+0.5) / 100.0;
}
else
{
d = y * 8.38 - y * 7.98;
d = (int)(d100.0 + 0.5) / 100.0;
}
}
else
{
if (y >= 200 / 8.38)
{
d = 0.3*(y - (200 / 8.38));
d = (int)(d100.0 + 0.5) / 100.0;
}
else
{
d = y * 8.38 - y * 8.08;
d = (int)(d100.0 + 0.5) / 100.0;
}
}
m = (int)(8.38y100.0 + 0.5) / 100.0;
printf("Order amount: %.2f\n",m);
if (y >= 200 / 8.38)
{
printf("E-coupon discount amount: 20.00\n");
}
else
{
printf("E-coupon discount amount: 0.00\n");
}
printf("Discount amount: %.2f\n", d);
if (y >= 200 / 8.38)
{
printf("Payment amount: %.2f", m - 20 - d);
if(count<1)
{
printf("\n");
}
}
else
{
printf("Payment amount: %.2f", m - 0 - d);
if(count<1)
{
printf("\n");
}
}
count++;
}
again:
return 0;
}