要求设计这个代码,尽量简单,太复杂的还没有学,数组,函数都可以用,但指针还没学,估计理解不了
回答如下:
第一题:
#include<iostream>
using namespace std;
int main() //矩阵计算
{
int m1, m2, n1, n2;
cout << "请输入矩阵a的行列数(eg:2 3):";
cin >> m1 >> n1;
cout << "请输入矩阵b的行列数(eg:2 3):";
cin >> m2 >> n2;
int a[m1][n1], b[m2][n2], c[m1][n1], d[m1][n2] = {};
cout << "请选择加减法或乘法(1、加减法 2、乘法):";
int x, i, j, k;
cin >> x;
switch (x)
{
case 1:
if (m1 != m2 || n1 != n2) {
cout << "矩阵不符合加减法计算规则" << endl;
}
else {
cout << "请输入矩阵a:" << endl;
for (i = 0; i < m1; i++) {
for (j = 0; j < n1; j++) {
cin >> a[i][j];
}
}
cout << "请输入矩阵b:" << endl;
for (i = 0; i < m1; i++) {
for (j = 0; j < n1; j++) {
cin >> b[i][j];
}
}
cout << "请选择矩阵计算(1、加法 2、减法):";
int n;
cin >> n;
switch (n) {
case 1:
for (i = 0; i < m1; i++) {
for (j = 0; j < n1; j++) {
c[i][j] = a[i][j] + b[i][j];
cout << c[i][j] << " ";
}
cout << endl;
}
break;
case 2:
for (i = 0; i < m1; i++) {
for (j = 0; j < n1; j++) {
c[i][j] = a[i][j] - b[i][j];
cout << c[i][j] << " ";
}
cout << endl;
}
break;
break;
default:
cout << "输入有误,已退出" << endl;
break;
}
}
break;
case 2:
if (n1 != m2) {
cout << "矩阵不符合乘法计算规则" << endl;
}
else {
cout << "请输入矩阵a:" << endl;
for (i = 0; i < m1; i++) {
for (j = 0; j < n1; j++) {
cin >> a[i][j];
}
}
cout << "请输入矩阵b:" << endl;
for (i = 0; i < m2; i++) {
for (j = 0; j < n2; j++) {
cin >> b[i][j];
}
}
for (int i = 0; i < m1; i++) { //m1,n1 m2,n2 eg:2 4 4 3 m1 n1=m2 n2
for (int j = 0; j < n2; j++) {
for (int k = 0; k < n1; k++) {
d[i][j] += (a[i][k] * b[k][j]);
}
cout << d[i][j] << " ";
}
cout << endl;
}
}
break;
default:
cout << "输入有误,已退出";
break;
}
}
第二题:
#include <stdio.h>
#include<math.h>
int main() {
double a,b,n;
printf("输入被开方数:");
scanf("%lf",&n); //输入要就平方根的数
b=n/2; //b等于n的二分之一
a=(b+n/b)/2.0; //迭代公式
while((b-a)>0.00001){ //进行迭代
double temp=a;
a=(a+n/a)/2.0;
b=temp;
}
printf("%0.3lf",a); //输出的格式保留三位小数
return 0;
}
```本题来自于博主“玖玖!”
第三题:
```c++
#include<iostream>
using namespace std;
int kuataijie(int n){
if(n==1){
return 1;
}
else if(n==2){
return 2;
}
else{
return kuataijie(n-1)+kuataijie(n-2);
}
}
int main(){
int N;
cout<<"请输入台阶数:";
cin>>N;
cout<<"总方法数为:"<<kuataijie(N)<<endl;
}