| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 894 人关注过本帖, 1 人收藏
标题:写了一个计算行列式值得程序,可是一运行就没了。大虾们帮看看……
只看楼主 加入收藏
Daocaoren
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-4-18
收藏(1)
 问题点数:0 回复次数:3 
写了一个计算行列式值得程序,可是一运行就没了。大虾们帮看看……
#include "stdio.h"
#include "stdlib.h"
#define N 4

float det(float (*p)[N],int i)/*计算行列式值的函数*/
{
  float s=1.0,t;
  unsigned short k,j;
  if(i==0)/*当转化为上三角行行列式时,计算值*/
  {
    for(k=0;k<N;k++)
    s*=*(*(p+k)+k);
    return s;
  }
  else
  {
    if(*(*(p+i)+i)==0)/*通过行的交换使a[i][i]不为零(不考虑不能使a[i][i]的值不为零的情形)*/
    for(k=0;k<i;k++)
    if(*(*(p+i)+k)!=0)
    {
      for(j=0;j<N;j++)
      {t=*(*(p+j)+i);*(*(p+j)+i)=*(*(p+j)+k);*(*(p+j)+k)=t;}
      break;
    }
    for(k=0;k<i;k++)/*使当前列中在a[i][i]前面的数全部变为0*/
    {
     if(*(*(p+i)+k)!=0)
     {
       for(j=0;j<N;j++)
       *(*(p+j)+k)-= *(*(p+j)+i)*( *(*(p+i)+k)/(*(*(p+i)+i)) );
     }
    }
    return det(p,i-1);/*通过递归对各列操作*/
  }
}

void main()
{
  float a[N][N];
  unsigned short i,j;
  printf("Please input a 4*4 determinant.\n");
  for(i=0;i<N;i++)
  for(j=0;j<N;j++)
  scanf("%f",&a[i][j]);
  printf("The value of the determinant is:\n%f",det(a,N-1));
}
搜索更多相关主题的帖子: 行列式 运行 
2008-05-06 20:15
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
要知道程序运行的时间很快,你一运行程序就结束,所以你就没有看到结束。可在main函数的最后加上一getch()函数试一下。

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2008-05-06 20:24
Daocaoren
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-4-18
收藏
得分:0 
加了getch(),只不过在这儿删掉了。
2008-05-06 20:35
Daocaoren
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-4-18
收藏
得分:0 
还有一点,即使不加,至少在我打开运行窗口时应该会停住,在输入数据后(那时才真正运行),按道理,才会闪掉的。
2008-05-06 20:38
快速回复:写了一个计算行列式值得程序,可是一运行就没了。大虾们帮看看……
数据加载中...
 
   



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

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