代码如下
#include
int main()
{
void paixu(float food[100][2], int N);
float M,total = 0;
int N,j,i;
while (scanf("%f%d", &M, &N)&&M != -1 && N != -1)
{
float food[100][2] = { 0 };
for (i = 0; i < N; i++)
{
for (j = 0; j < 2; j++)
scanf("%f", &food[i][j]);
}
paixu(food, N);
for (i = 0; M>food[i][1]; i++)
{
M = M - food[i][1];
total += food[i][0];
}
total = total + M / food[i][1] * food[i][0];
printf("%.3f\n", total);
}
return 0;
}
void paixu(float food[100][2],int N)
{
int i, j, k;
float t_1, t_2;
for (i = 0; i < N; i++)
{
k = i;
for (j = i + 1; j < N; j++)
{
if (food[k][1] < food[j][1])
k = j;
}
if (i != k)
{
t_1 = food[i][1];
t_2 = food[i][0];
food[i][1] = food[j][1];
food[i][0] = food[j][0];
food[j][1] = t_1;
food[j][0] = t_2;
}
}
}求高手帮忙找下哪里错了
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。