gpt4 book ai didi

c - 如何在C中存储一行的最后一个和

转载 作者:行者123 更新时间:2023-11-30 14:34:50 24 4
gpt4 key购买 nike

我正在做这个练习“以 n 行 m 列自然数的矩阵作为输入(n 和 m 也是从输入中获取)。该程序检查数字的总和每行包含的内容对于所有行都是相同的”

我不知道如何保存矩阵中最后一行的总和。如果我插入一个临时变量来分配最后的总和,那么它会在下一个 for 循环中被覆盖

int main ()
{

int i, j;
int sum;
int temp;
int n=3, m=3;
int matrix[n][m];

for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("Enter: ");
scanf("%d",&matrix[i][j]);
}
}

for(i=0;i<m;i++)
{
sum=0;
for(j=0;j<n;j++)
{
sum+=matrix[i][j];
}
}
}

最佳答案

保持代码与现在的代码非常相似,您可以执行以下操作:

int main (){
int i, j;
int sum = 0;
int oldsum = 0;
int temp;
int n=3, m=3;
int matrix[n][m];

for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("Enter: ");
scanf("%d",&matrix[i][j]);
}
}

for(i=0;i<m;i++)
{
sum=0;
for(j=0;j<n;j++)
{
sum+=matrix[i][j];
}
if (i == 0 || sum == oldsum){
oldsum = sum;
}
else {
printf("The sums are not equal!\n");
return 1;
}
}
printf("All the sums are equal!\n");
return 0;
}

由于您需要检查所有行的总和是否相同,因此当您发现总和与前一个总和不同时,您可以安全地停止程序,在这种情况下,当您发现不同的总和时,您返回1 否则,您将在 main 末尾返回 0

条件中的||用于处理sumoldsum都为0时的第一次求和计算;

关于c - 如何在C中存储一行的最后一个和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58817168/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com