小明种苹果
刚看这个题就不想做,感觉太简单了。。。其实也是很简单的,就是眼高手低。
未成功的代码:
#include <cstdlib>
#include <cstdio>
int main(int argc, char *argv[])
{
int M,N;
scanf("%d%d",&M,&N);
int a[M][N+1];
int status;
int sum=0,maxminum=0,flag=0;
for(int i=0;i<M;i++){
status=0;
for(int j=0;j<N+1;j++){
scanf("%d",&a[i][j]);
sum+=a[i][j];
if(j!=0){
status-=a[i][j];
}
}
if(maxminum<status){
maxminum=status;
flag=i+1;
}
}
printf("%d %d %d",sum,flag,maxminum);
return 0;
}
对了百分之八十的。感觉不对劲,一直有问题,发现逻辑都是对的啊!想起来可能是数组越界。
https://blog.****.net/x_iya/article/details/8426581
成功代码:
#include <cstdlib>
#include <cstdio>
int a[1001][1001];
int main(int argc, char *argv[])
{
int M,N;
scanf("%d%d",&M,&N);
int status;
int sum=0,maxminum=0,flag=0;
for(int i=0;i<M;i++){
status=0;
for(int j=0;j<N+1;j++){
scanf("%d",&a[i][j]);
sum+=a[i][j];
if(j!=0){
status-=a[i][j];
}
}
if(maxminum<status){
maxminum=status;
flag=i+1;
}
}
printf("%d %d %d",sum,flag,maxminum);
return 0;
}
把数组提到外面,果然没问题了。