编写程序,输入两个正整数m和n,然后输入m行n列矩阵a中的元素,分别求出各行元素之和,并输出。 下

编写程序,输入两个正整数m和n,然后输入m行n列矩阵a中的元素,分别求出各行元素之和,并输出。
下图是我的程序,但是运行结果错误,帮我改正或者从新编写一个程序

第1个回答  2014-11-19
#include<stdio.h>
void main()
{
int i,j,a[50][50],n,m;
int sum=0;//用于求和
printf("请输入数:");
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
sum += a[i][j];
}
}
printf("数组总和为%d\n",sum);
}追问

大神,你帮我看一下我发布的其他有关于c的问题吧!我已经发布出去了的!

求cosx,精度为e,运行结果错误

追答

z那的阶乘可以再另外调用一个函数! 不然n的值大于2之后就不是阶乘了!例如n=5那变量z的值就是z=z*5*4而这里要求的是,1*2*3*4*5

第2个回答  2014-11-19
数组a没有定义。追问

定义了,在第八行

追答

错了,把数组a的定义放在最前面试一试。

追问

这个前后不关紧要吧

追答

还有第一个scanf中,改为&a[i][j]

如果你学的是纯C语言,不允许在代码中间定义,定义语句需要放在最前面。

如果是C++兼容性C语言,那就不用关心定义在哪里,用之前定义就可以了。

追问

应该是第二个scanf语句改写为&j&i吧?

追答

错了,是第二个scanf中

是第二个scanf中改为&a[i][j]

追问

输出那里有点问题

追答

倒数第二个}放在printf之前

追问

不对,这样就只能输出一行了

追答

那你要怎样输出?

在倒数第一个for前加一句s=0;

追问

我先输入2 2
然后输入4个数
1 2
3 4
输出s=3
s=7

追答

原来倒数第二个}位置不变

原来倒数第二个}位置不变, 在倒数第一个for前加一句s=0;

追问

谢谢,成功了,我忘记刷新s值了!那你顺便看一下我发布的其他有关c的问题吧!

追答

手机上不容易找到你发的其他的题。

追问

点开我头像可以看到不?

追答

别人点开你的头像看不到你的提问的,只能看到你的回答跟采纳。

追问

这是我编写求cosx的程序,但是结果错误

追答

你的e、x是作为什么用,还有你想用什么方式实现这个函数的功能,说一说原理,我数学上的东西不是很懂。?

追问

嗯,while语句终止条件我那里我错了。。。

追答

你等一下,我帮你看看。

#include
#include
#include

double funcos(double e, double x)
{
int i, j=0, k=0,count=0;
long int sum;
double s=0, n=1;

while (fabs(x)>3.141592)
{
x=fabs(x)-3.141592;
count++;
}

while (fabs(n)>e)
{
sum=1;
if(j==0)
{
sum=1;
}
else
{
for (i=1; i<=j; i++)
{
sum=sum*i;
}
}
if (sum<0)
{
if (count%2!=0)
{
s=s*-1;
}
break;
}
n=pow(x, j)/sum;
n=n*pow(-1, k++);
s+=n;
j+=2;
}
return s;
}

int main(int argc, char *argv[])
{
double e, x, s;
scanf("%lf%lf", &e, &x);
s=funcos(e, x);
printf("cos%lf=%lf\n", x, s);
printf("%lf\n", cos(x));
return 0;
}

追问

#include可以不要么,我们没有学,还有就是,那个while(fab(x)-3.1415926) x=fab(x)3.1415926是什么意思,以及主函数main括弧里面的可以略去么,我们学了的只是main(void)

追答

那个stdlib头文件可以不要,我之前写的的时候为了暂停加上的,主函数括弧里面的东西都可以去掉,void也可以不要的

那个while是为了控制输入的数据转变成3.14之内的数。

追问

控制在3.14的那句也可以不要么?

追答

那句不要的话会进入死循环,你可以自己测试一下。

本回答被提问者采纳
第3个回答  2014-11-19
每次内层循环结束后,在外层循环s都应该再次初始化...我刚学编程也经常出这种问题,遇到叠加叠乘要注意这些小细节