输入一直不结束,无法运行到输出
问题出在 scanf 函数的格式字符串中。你使用了 &d 和 %d,应该使用 %d 和 %d 来正确读取整数。
除了将scanf()里面的&d改为%d,还需要将数组a的列数改为1001,因为每行最多有1001个整数。
修改如下:
#include <stdio.h>
int main(void){
// 因为M最大为1000,即每行最大有1001个输入,所以数组a的列数必须大于等于1001
int a[1000][1001]={0};
int b[1000]={0};
int N,M,i,j,T=0,k=0,p=0;
scanf("%d %d",&N,&M); // 这里&d改为%d
for(i=0;i<N;i++){
for(j=0;j<M+1;j++){
scanf("%d",&a[i][j]);
}
}
for(i=0;i<N;i++){
for(j=0;j<M+1;j++){
T+=a[i][j];
}
for(j=1;j<M+1;j++){
b[i]=b[i]+a[i][j];
}
if(p>b[i]){
k=i+1;
p=b[i];
}
}
printf("%d %d %d",T,k,-p);
return 0;
}
【相关推荐】