本文目录一览:
- 1、求一个用c语言写的,矩阵乘法的三重循环程序。谢谢啦
- 2、如何用C语言编写一个循环算式?
- 3、c语言如何连续求无数个阶乘,用while循环结构?
- 4、编写计算1到100的连乘的C语言程序
- 5、C语言连乘编程
求一个用c语言写的,矩阵乘法的三重循环程序。谢谢啦
#include "iostream.h"
void MatrixChain(int *p,int n,int **m,int **s)
{
for(int i=1;i=n;i++)
m[i][i]=0;
for(int r=2;r=n;r++)
for( i=1;i=n-r+1;i++)
{
int j=i+r-1;
m[i][j]=m[i+1][j]+p[i-1]*p[i]*p[j];
s[i][j]=i;
for(int k=i+1;kj;k++)
{
int t=m[i][k]+m[k+1][j]+p[i-1]*p[k]*p[j];
if(tm[i][j])
{
m[i][j]=t;
s[i][j]=k;
}
}
}
}
void Traceback(int i,int j,int **s)
{
if(i==j)return;
Traceback(i,s[i][j],s);
Traceback(s[i][j]+1,j,s);
cout"让 A"i;//","s[i][j];
cout"和 A"(s[i][j]+1)"相乘"endl;//","j"相乘"endl;
}
void main()
{
int n,*p;
int j=1;
cout"请输入矩阵的个数"endl;
cinn;
p=new int[n+1];
cout"请输入第一个矩阵的行数,然后按回车键"endl;
cinp[0];
cout"第"j"个矩阵是"endl;
coutp[0]"*";
cinp[1];
// coutp[1]endl;
coutendl;
for(int i=2;in+1;i++)
{
cout"第"i"个矩阵是:";
coutp[i-1]"*";
cinp[i];
}
// int p[]={30,35,15,5,10,20,25};
// int m[6][6],s[6][6];
int **m,**s;
m=new int*[n];
for( i=1;i=n;i++)
m[i]=new int[n];
s=new int*[n];
for( i=1;i=n;i++)
s[i]=new int[n];
MatrixChain(p,n,m,s);
Traceback(1,n,s);
}
这是矩阵连乘
如何用C语言编写一个循环算式?
用两个for回圈,一个用於计算阶乘(n!),一个用於计算和(sum).代码如下
int main()
{
int ret = 1;
int sum = 0;
for (int i = 1; i = 4; i++)
{
ret = i*ret;
sum = sum + ret;
}
printf("%d", sum);
system("pause");
return 0;
}
c语言while回圈注bai意事项
1、防止死回圈,即确保回圈体内存在可以改变表达式值的语句,如i++。
int main()
{
inti=1;
intsum=0;
while(i=100)
{
sum=sum+i;
i++;
}
printf("d",sum);
return0;
}
c语言如何连续求无数个阶乘,用while循环结构?
使用 double 型最多精确计算 22 的阶乘,算不了 100 的阶乘,所以不需要用 double 型,直接用 long 型就可以了,long 型最多只能算 20 的阶乘。
#includestdio.h
int main() {
long result = 1;
int n = 1;
int i = 1;
while (1) {
printf("请输入求阶乘中的n(1~20), 输入负整数退出本程序:");
scanf("%d", n);
if (n 0) {
break;
} else if (n == 0) {
continue;
} else if (n = 1 n = 20) {
result = 1;
for (i = 1; i = n; i++) {
result *= i;
}
printf("%d的阶乘是%ld\n", n, result);
}
}
}
编写计算1到100的连乘的C语言程序
/*computing the sum of 1 to 100and the factorial of 100*/
#include stdio.h
int main()
{
int count;
int sum=0;
double fac=1;
for (count=1;count=100;count++)
{
sum=sum+count;
fac=fac*count;
}
printf("The sum of 1 to 100 is %d\n",sum);
printf("The factorial of 100 is %e",fac);
return(0);
}
C语言连乘编程
这不就是5!么?
main()
{
int i ,s=1;
for(i=1;i=5;i++)
s*=i;
printf("%d\n,s");
}