3. 编程实现输入两个4X5矩阵和5X3矩阵,定义函数并在主函数中调用计算它们的积。
#include<iostream> using namespace std; int i, j,l; void fun(int a[4][5],int b[5][3],int c[4][3]); int main() { int a[4][5],b[5][3],c[4][3]; //a行b列矩阵乘b行c列矩阵会得到a行c列矩阵。 cout<<"请给数组a[4][5]赋值"<<endl; for(i=0;i<4;i++) for(j=0;j<5;j++) cin>>a[i][j]; cout<<"请给数组b[5][3]赋值"<<endl; for(i=0;i<5;i++) for(j=0;j<3;j++) cin>>b[i][j]; cout<<"数组a[4][5]的值为:"<<endl; for(i=0;i<4;i++) { for(j=0;j<5;j++) cout<<a[i][j]<<'\t'; cout<<endl; } cout<<"数组b[5][3]的值为:"<<endl; for(i=0;i<5;i++) { for(j=0;j<3;j++) cout<<b[i][j]<<'\t'; cout<<endl; } fun(a,b,c); return 0; } void fun(int a[4][5],int b[5][3],int c[4][3]) { for(i=0;i<4;i++) { for(j=0;j<3;j++) { c[i][j]=0; for(l=0;l<5;l++) { c[i][j]+=a[i][l]*b[l][j]; } } } cout<<"a[4][5]*b[5][3]="<<endl; for(i=0;i<4;i++) { for(j=0;j<3;j++) cout<<c[i][j]<<'\t'; cout<<endl; } }
4.编程计算S[n]=1!+21+3!+...n!。要求定义两个函数,一个计算n!,一个计算s[n],在后一个函数中调用前一个函数。然后在主程序中输入数n的值,然后调用定义函数输出结果
#include<iostream> using namespace std; int fun1(int n) //求阶乘 { int i,sum1=1; for(i=1;i<=n;i++) sum1*=i; return sum1; } void fun2(int n) //求阶乘和 { int i,sum2=0; for(i=1;i<=n;i++) sum2+=fun1(i); cout<<"S[n]=1!+21+3!+...n!= "<<sum2<<endl; } int main() { int n; cout<<"请输入一个整数n: "<<endl; cin>>n; fun2(n); return 0; }