#include<stdio.h>
int main()
{
int i,m, n,sum=0,j,e,f,c;
printf("输入m,n:");
scanf_s("%d %d", &m,&n);
int arr[80];
for (i=0,j=1;i<=(m-1)*n,j<=m*n-1;i+=2,j+=2)
{
scanf_s("%d %d", &arr[i],&arr[j]);
}
for (e=0,c=0;e<=m; e++,c++)
{
for (f=0;f<=1;f++,c++)
{
sum = sum + arr[c];
}
printf("%d", sum);
sum=0;
}
return 0;
}
从运行结果看,可能是sum没有清零。其实可以使用二维数组存放元素,这样代码会简单一些。
#include<stdio.h>
int main(){
int i,j,m,n,sum;
printf("输入m,n:");
scanf("%d %d",&m,&n);
int a[m][n];
for(i=0;i<m;i++){
for(j=0;j<n;j++){
scanf("%d",&a[i][j]);
}
}
for(i=0;i<m;i++){
sum=0;
for(j=0;j<n;j++){
sum=sum+a[i][j];
}
printf("%d\n",sum);
}
return 0;
}
为啥要把循环搞这么复杂?
#include<stdio.h>
int main()
{
int i,m, n,sum=0,j,e,f,c;
printf("输入m,n:");
scanf_s("%d %d", &m,&n);
int arr[80];
for (i=0,j=1;i<=(m-1)*n,j<=m*n-1;i+=2,j+=2)
{
scanf_s("%d %d", &arr[i],&arr[j]);
}
for (e=0,c=0;e<m; e++)
{
for (f=0;f<=1;f++,c++)
{
sum = sum + arr[c];
}
printf("%d ", sum);
sum=0;
}
return 0;
}