老师留得不管是作业还是练习,全都是英文的。
该学习了。。。
这又什么错吗?
#include <stdio.h>
#define N 1000
int main()
{
int i, j, k, t, m, n, r, g = 0, l = 0;
int p[N], a[N];
scanf("%d%d", &m, &n);
for(i = 0;i < n;i ++)
scanf("%d%d", &p[i], &a[i]);
for(j = 0;j < n-1;j ++)
for(k = 0;k < n-1;k ++)
if(p[k] > p[k + 1])
{
r = p[k + 1];
p[k + 1] = p[k];
p[k] = r;
}
for(t = 0;t < n;t ++)
{
g += a[t]*p[t];
l += a[t];
if(l > m)
break;
}
printf("%d\n", g - p[t]*(l - m));
return 0;
}
这又什么错吗?
#include <stdio.h>
#define N 1000
int main()
{
int i, j, k, t, m, n, r, g = 0, l = 0;
int p[N], a[N];
scanf("%d%d", &m, &n);
for(i = 0;i < n;i ++)
scanf("%d%d", &p[i], &a[i]);
for(j = 0;j < n-1;j ++)
for(k = 0;k < n-1;k ++)
if(p[k] > p[k + 1])
{
r = p[k + 1];
p[k + 1] = p[k];
p[k] = r;
}
for(t = 0;t < n;t ++)
{
g += a[t]*p[t];
l += a[t];
if(l > m)
break;
}
printf("%d\n", g - p[t]*(l - m));
return 0;
}
p[n]变的时候,a[n]也要变,不然他们之间的对应关系就被打乱了.
这样改对吗?
#include <stdio.h>
#define N 1000
int main()
{
int i, j, k, t, m, n, r, g = 0, l = 0, h;
int p[N], a[N];
scanf("%d%d", &m, &n);
for(i = 0;i < n;i ++)
scanf("%d%d", &p[i], &a[i]);
for(j = 0;j < n-1;j ++)
for(k = 0;k < n-1;k ++)
if(p[k] > p[k + 1])
{
r = p[k + 1];
p[k + 1] = p[k];
p[k] = r;
h = a[k + 1];
a[ k + 1] = a[k];
a[k] = l;
}
for(t = 0;t < n;t ++)
{
g += a[t]*p[t];
l += a[t];
if(l > m)
break;
}
printf("%d\n", g - p[t]*(l - m));
return 0;
}