标题:大神们,帮忙看看,为什么不能输入b[i],
只看楼主
珑晚衣
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2014-3-5
结帖率:100%
已结贴  问题点数:20 回复次数:8 
大神们,帮忙看看,为什么不能输入b[i],
#include<stdio.h>
#include<math.h>
#define N 20
#define EPSILON 0.000000001
void main()
{
    int i,j,k,n;
    double a[N][N];
    double b[N];
    double l[N][N];
    double t;
    printf("数组的维数n\n");
    scanf("%d",&n);
    printf("输入a[i][j]\n");
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
            scanf("%lf\n",&a[i][j]);
    }
    printf("输入b[i]\n");
    for(i=0;i<n;i++)
    {
        scanf("%lf\n",&b[i]);
    }

    for(k=0;k<n-1;k++)
    {
        t=fabs(a[k][k]);
        /*找列主元*/
        for(i=k+1;i<n;i++)
        {
            if(t<fabs(a[i][k]))
                t=a[i][k];
        }
        for(j=k;j<n;j++)
        {
            t=a[i][j];
            a[i][j]=a[k][j];
            a[k][j]=t;
        }
        t=b[i];
        b[i]=b[k];
        b[k]=t;
        for(i=k+1;i<n;i++)
        {
            l[i][k]=-a[i][k]/a[k][k];
            b[i]=b[i]-l[i][k]*b[k];
            for(j=k;j<n;j++)
                a[i][j]=a[i][j]+a[k][j]*l[i][k];
        }
    }
    printf("检验最后的方程是否为下三角矩阵\n");
    for(i=0;i<n;i++)
        for(j=0;j<n;j++)
            printf("%10.6f",a[i][j]);
    printf("\n");
    /*回代过程*/
    b[n-1]=b[n-1]/a[n-1][n-1];
    for(i=n-2;i>-1;i--)
    {
        for(j=i+1;j<n;j++)
            b[i]=b[i]-b[j]*a[i][j];
        b[i]=b[i]/a[i][i];
    }
    printf("\n方程组的解\n");
    for(i=0;i<n;i++)
        printf("x%d=%lf",i+1,b[i]);


}
搜索更多相关主题的帖子: include double 
2014-03-06 21:45
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:7 
scanf函数里 为神马要出现\n字样呢

DO IT YOURSELF !
2014-03-06 21:48
珑晚衣
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2014-3-5
得分:0 
是这个原因么?我看看哈
2014-03-06 21:50
珑晚衣
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2014-3-5
得分:0 
回复 2楼 wp231957
好像还是不行呢
2014-03-06 21:55
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
得分:7 
可以输入b[i]啊,只是运行结果不知道是不是你想要的,具体代码还没看,但程序确实可以运行。

数组的维数n
2
输入a[i][j]
1
2
3
4
输入b[i]
5
6
检验最后的方程是否为下三角矩阵
-92559631349317831000000000000000000000000000000000000000000000.000000-925596313
49317831000000000000000000000000000000000000000000000.000000  0.000000  1.000000


方程组的解
x1=-8.000000x2=9.000000请按任意键继续. . .

学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。               

                                                                                                                    Black Cat      Hello Tomorrow~
2014-03-06 22:08
flysado
Rank: 1
等 级:新手上路
帖 子:1
专家分:7
注 册:2013-11-22
得分:7 
我怎么可以运行啊。语法没有错误撒
2014-03-06 22:32
珑晚衣
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2014-3-5
得分:0 
回复 6楼 flysado
是的,语法没错误,但是我执行时b[i]好像是随机给的,达不到我要的结果
2014-03-06 22:53
珑晚衣
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2014-3-5
得分:0 
回复 5楼 蚕头燕尾
我今晚上肯定被计算机耍了,运行了很多遍了,我再试试
2014-03-06 22:55
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
得分:0 
嗯,记得先像2楼说的,把scanf里面的\n去掉

学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。               

                                                                                                                    Black Cat      Hello Tomorrow~
2014-03-06 23:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-428132-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.277240 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved