| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 10208 人关注过本帖, 1 人收藏
标题:行列式计算程序,没事看看吧,已经验证
只看楼主 加入收藏
浴雪希灵
Rank: 2
等 级:论坛游民
帖 子:23
专家分:30
注 册:2009-11-12
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:13 
行列式计算程序,没事看看吧,已经验证
程序代码:
#include"stdio.h"
main()
{
    int z,r,s,j,i;
    double a[20][20],m=1.0,k;
    printf("请输入阶数:");
        scanf("%d",&r);
        printf("请输入数字\n");
        for(i=0;i<r;i++)
        for(j=0;j<r;j++)
            scanf("%lf",&a[i][j]);
        for(z=0;z<r-1;z++)
        for(i=z;i<r-1;i++)
        {    if(a[z][z]==0)
                for(i=z;a[z][z]==0;i++)
                {
                    {
                        for(j=0;j<r;j++)
                        a[z][j]=a[z][j]+a[i+1][j];
                    }
                    if(a[z][z]!=0)break;
                }
                    {
                        k=-a[i+1][z]/a[z][z];
                        for(j=z;j<r;j++)
                        a[i+1][j]=k*(a[z][j])+a[i+1][j];
                    }
        }
         for(z=0;z<r;z++)
         m=m*(a[z][z]);
         printf("%f",m);
}
行列式计算程序

[ 本帖最后由 浴雪希灵 于 2009-11-16 13:24 编辑 ]
搜索更多相关主题的帖子: 验证 行列式 
2009-11-15 23:23
陈大师
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:231
专家分:1038
注 册:2009-11-4
收藏
得分:10 
#include"stdio.h"
int main(void)
{
    int z,r,j,i;
    double a[20][20],m=1.0,k;
    printf("请输入阶数:");
        scanf("%d",&r);
        printf("请输入数字\n");
      for(i=0;i<r;i++)
        for(j=0;j<r;j++)
            scanf("%lf",&a[i][j]);
      for(z=0;z<r-1;z++)
        for(i=z;i<r-1;i++)
        {    if(a[z][z]==0)
                for(i=z;a[z][z]==0;i++)
                {
                    {
                        for(j=0;j<r;j++)
                        a[z][j]=a[z][j]+a[i+1][j];
                    }
                    if(a[z][z]!=0)break;
                }
                    {
                        k=-a[i+1][z]/a[z][z];
                        for(j=z;j<r;j++)
                        a[i+1][j]=k*(a[z][j])+a[i+1][j];
                    }
        }
         for(z=0;z<r;z++)
         m=m*(a[z][z]);
         printf("%f",m);
         return 0;
}

LZ代码没有错,很好,只是有些地方要规范一下咯,还有就是for要对齐·····个人意见,大家交流···
2009-11-17 13:36
佳嘉
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:534
专家分:1383
注 册:2009-11-8
收藏
得分:0 
改进得更规范了
2009-11-17 13:40
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:10 
以下是引用陈大师在2009-11-17 13:36:30的发言:

#include"stdio.h"
int main(void)
{
    int z,r,j,i;
    double a[20][20],m=1.0,k;
    printf("请输入阶数:");
        scanf("%d",&r);
        printf("请输入数字\n");
      for(i=0;i<r;i++)
        for( ...



你太把自己当菜了。

你制定的规范?
2009-11-17 13:46
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:0 
以下是引用Devil_W在2009-11-17 13:46:29的发言:

 
 
 
你太把自己当菜了。
 
你制定的规范?
看的出LS是个很厉害的高手,也挺经常上论坛上看的,看到你也喜欢帮助别人,会回答别人的问题,可为什么总是喜欢对一些人进行这样或那样的讽刺呢??其实他们也是想尽自己之力帮助下别人,有错的地方,你帮忙指正下就好了··为什么~~~~
    我觉得2S说的有理,虽然main函数的 int 可以省略,但有肯定会好点,LZ也没有返回值,这样的确不合规范··至于对齐方面LZ的确没做好,2S指出来建议下也没什么不对啊~~~只是2S自己对的也不好~~~不过这不大重要吧··毕竟LZ知道有那么一个地方~~~
    个人观点~~麻烦LS指正···
2009-11-17 14:05
liangwenbc
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
帖 子:168
专家分:174
注 册:2008-6-11
收藏
得分:0 
以下是引用lijm1989在2009-11-17 14:05:55的发言:

看的出LS是个很厉害的高手,也挺经常上论坛上看的,看到你也喜欢帮助别人,会回答别人的问题,可为什么总是喜欢对一些人进行这样或那样的讽刺呢??其实他们也是想尽自己之力帮助下别人,有错的地方,你帮忙指正下就 ...

qq7434391
2009-11-17 15:29
浴雪希灵
Rank: 2
等 级:论坛游民
帖 子:23
专家分:30
注 册:2009-11-12
收藏
得分:0 
多谢大家指教,小弟初学c两个月左右,有些地方不够规范,谢谢提醒
2009-11-17 21:07
fgchg911
Rank: 4
等 级:业余侠客
威 望:1
帖 子:131
专家分:204
注 册:2009-9-6
收藏
得分:0 
这代码我原想规范下,现在不用了
if(a[z][z]==0)
                for(i=z;a[z][z]==0;i++)
                {
                    {
                        for(j=0;j<r;j++)
                        a[z][j]=a[z][j]+a[i+1][j];
                    }
                    if(a[z][z]!=0)break;
                }
                    {
                        k=-a[i+1][z]/a[z][z];
                        for(j=z;j<r;j++)
                        a[i+1][j]=k*(a[z][j])+a[i+1][j];
                    }
if后接一个for,我可以加大括号,但后面又凭空冒出一对大括号{
                        k=-a[i+1][z]/a[z][z];
                        for(j=z;j<r;j++)
                        a[i+1][j]=k*(a[z][j])+a[i+1][j];
                    }
你叫我怎么改,没加的可以加上,不该加的还给你去掉,真不知道楼主真的懂规范吗,你干脆啥都不懂,别乱加
2009-11-17 21:47
fgchg911
Rank: 4
等 级:业余侠客
威 望:1
帖 子:131
专家分:204
注 册:2009-9-6
收藏
得分:0 
我原以为二楼的规范也没做好,现在看来二楼只是指出了那个地方后,其他的没改,是在太变态了,
我改了多少代码都没见过还得去括号的
2009-11-17 21:49
fgchg911
Rank: 4
等 级:业余侠客
威 望:1
帖 子:131
专家分:204
注 册:2009-9-6
收藏
得分:0 
一点建议,那个tab设置成8感觉蛮好的,原以为几次嵌套后会太长,后来人家解释说太长就有问题了,得改代码
2009-11-17 21:51
快速回复:行列式计算程序,没事看看吧,已经验证
数据加载中...
 
   



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

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