user-0 提问: 有c语言的大佬帮忙看一看的吗，感谢

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-0
content: 引用 楼主 weixin_44837630的回复:#include "stdafx.h" #include<stdio.h> #include<math.h> #include<iostream> using namespace std;   void quation() {/*求节点电位*/ 	FILE *fp=NULL; 	char ch; 	//打开文件 	fp = fopen("E:\\电路.docx","r"); 	//第一个双引号里面放的是文件具体路径，第二个是对文件进行的操作 	int i=0,j=0,m=0,n=0,o=0; 	char nam[100],typ[100],figure[100][100]; 	double r[100]={0},g[100]={0}; 	if(fp==NULL)//判断文件是否成功打开 	{ 		printf("文件打开失败"); 		return 0; 	} //如果文件能成功打开，函数返回值不为NULL 	while(!feof(fp))    //读取到文件尾    { 		fscanf(fp,"%c",nam[i]);														 		if(nam[i]!='*') 		{ 			fscanf(fp,"%s %f",typ[i],r[i]); 			if(typ[i]=='v') 			{ 				o++;//电源数o 			} 			else 			{ 				g[m]=1.0/r[m]; 				m++;//非电源原件数m 			} 			i++; 		} 		else  		{ 			//输入并转化成电导矩阵 			for(j=0;figure[n][j]=='*';j++) 			{ 			    fscanf(fp,"%c",figure[n][j]); 			} 			n++; 		}     }   	//关闭文件 	fclose(fp);  	//建立矩阵和增广矩阵  	int a[100]={0}; 	double b[100][100]={0},c[100][100]={0},d[100][100]={0}; 	double temp=0.0; 	int x=0,y=0,l;  	for(i=0;i<n;i++) 	{ 		l=0; 		for(x=0;x<n;x++) 		{ 			for(y=0;y<m+o;y++) 			{ 				if(nam[i]==figure[x][y]) 				{ 					a[l]=x; 					l++; 				} 			} 		} 		b[a[0]][a[1]]=g[i]; 		b[a[1]][a[0]]=g[i]; 		c[a[0]][a[1]]=1; 		c[a[1]][a[0]]=1; 		d[a[0]][a[1]]=g[i]; 		d[a[1]][a[0]]=g[i]; 	} 	for(i=0;i<n;i++) 	{ 		for(j=0;j<m+o;j++) 		{ 			if(i!=j) 			{ 				b[i][i]=b[i][i]+b[i][j]; 			} 		} 	} ////////////////////////////////////////////////////////////////////////// 	for(i=m;i<n;i++) 	{ 		for(x=0;x<n;x++) 		{ 			for(y=0;y<m+o;y++) 			{ 				if(nam[i]==figure[x][y]) 				{ 					a[l]=x; 					l++; 				} 			} 			for(j=0;j<n;j++) 			{ 				b[a[0]][j]=b[a[0]][j]+b[a[1]][j]; 			} 			b[a[1]][a[1]]=1; 			b[a[1]][a[0]]=-1; 			b[a[1]][n]=r[i]; 		} 	} ///////////////////////////////////////////////////////////////////// 	int p,q; 	double u[100]; 	for(j=0;j<n-1;j++) 	{ 		p=j; 		for( i=j+1;i<n;i++) /*找列主元*/ 		{ 			if( fabs(b[i][j])>fabs(b[p][j])) 			{ 				p=i; 			} 		} 		if(p!=i)  		{ 			for(q=j;q<n+1;q++) 			{ 				temp=b[p][q];/*换行*/ 				b[p][q]=b[j][q]; 				b[j][q]=temp; 			} 			for(i=j+1;i<n;i++)/*消元*/ 			{  				temp=b[i][j] ; 			} 			for(q=j;q<n+1;q++) 			{ 				b[i][q]=b[i][q]-b[j][q]*temp/b[j][j]; 			} 		} 	} 	for(i=n-1;i>=0;i--) /*回代*/ 	{ 		temp=0 ; 		for(j=n-1;j>i;j--) 		{ 			temp=temp+b[i][j]*u[j]; 		} 		u[i]=(b[i][n]-temp)/b[i][i]; 	} 	for(i=0;i<n;i++) 	{ 		printf("u[%d]=%7.3f\n",i+1,u[i]);/*打印 u*/ 	} ////////////////////////////////////////////////////////////////////// 	double v[100][100] ; 	for(i=0;i<m;i++) 	{ 		for(j=0;j<n;j++) 		{ 			v[i][j]=0; 			if(i<j && c[i][j]==1) 			v[i][j]=u[i]-u[j] ;/*计算支路电压*/ 			v[j][i]=-v[i][j]; 			printf("v[%d][%d]=%7.3f",i+1,j+1,v[i]) ;/*打印 v*/ 		} 	} ///////////////////////////////////////////////////////////////////// 	double I[100][100]; 	for(i=0;i<m+o;i++) 	{ 		for(j=0;j<m+o;j++) 		if(d[i][j]!=0) 		{ 			I[i][j]=v[i][j]/d[i][j]; 		}/*计算支路电流*/ 		printf("I[%d][%d]=%7.3f",i+1,j+1,I[i]);/*打印 I*/ 	}  /////////////////////////////////////////////////////////////////// 	double P[100][100]; 	for(i=0;i<m;i++) 	{ 		for(j=0;j<m;j++) 		{ 			P[i][j]=I[i][j]*v[i][j];/*计算功率*/ 			printf("P[%d][%d]=%7.3f",i+1,j+1,P[i][j]);/*打印 p*/ 	} } //////////////////////////////////////////////////////////////////// int	main( ) { 	quation(); 	return 0; } 哪里有问题啊，没有报错但是没有输出