week_7_homework
来源:互联网 发布:神武挖山水算法 编辑:程序博客网 时间:2024/05/02 04:32
第二:
1.
#include <iostream>long int Power(int base,int exponent);using namespace std;int main(){ int base,exponent,result; cout<<"请输入基数:"<<endl; cin>>base; cout<<"请输入幂的大小:"<<endl; cin>>exponent; result=Power(base,exponent); cout <<base<<"^"<<exponent<<" = "<<result<<endl; return 0;}long int Power(int base,int exponent){ int i,result=1; for(i=0;i<exponent;i++) { result*=base; } return result;}
2:
#include <iostream>void judge(int num);using namespace std;int main(){ int num; cout<<"请输入一个整数: "<<endl; cin>>num; judge(num); return 0;}void judge(int num){ int i,jud=0; for(i=2;i<num;i++) if(num%i==0) { cout<<"该数不是素数。"<<endl; jud++; break; } if(jud==0) cout<<"该数是素数"<<endl;}
3.
#include <iostream>int fun(int num);using namespace std;int main(){ int num,result; cout<<"请输入一个整数: "<<endl; cin>>num; result=fun(num); cout <<"颠倒后结果为:"<<result<<endl; return 0;}int fun(int num){ int result=0; while(num) { result+=num%10; num=num/10; result*=10; } result/=10; return result;}
4.
#include <iostream>void fun(int num);using namespace std;int main(){ int num; cout<<"请输入分数: "<<endl; cin>>num; fun(num); return 0;}void fun(int num){ while(num<0||num>100) { cout<<"输入错误,请重新输入:"<<endl; cin>>num; } if(num<60) cout <<"该学生不及格"<<endl; else if(num<70) cout <<"该学生成绩等级为D"<<endl; else if(num<80) cout <<"该学生成绩等级为C"<<endl; else if(num<90) cout <<"该学生成绩等级为B"<<endl; else cout <<"该学生成绩等级为A"<<endl;}
#include <iostream>void fun(int *arr);const int Size=10;using namespace std;int main(){ int arr[Size],i; cout<<"请分别输入10个学生的分数: "<<endl; for(i=0;i<Size;i++) { cout<<"第 "<<i+1<<" 个:"<<endl; cin>>arr[i]; while(arr[i]<0||arr[i]>100) { cout <<"输入错误,请重新出入:"<<endl; cin>>arr[i]; } } fun(arr); return 0;}void fun(int *arr){ int ave=0,i; for(i=0;i<Size;i++) { ave+=arr[i]; } ave/=Size; cout<<"十个学生的平均分是:"<<ave<<endl;}
#include <iostream>int divisor(int num_1,int num_2);int multiple(int num_1,int num_2);using namespace std;int main(){ int num_1,num_2,fac; int C_divisor,C_multiple; cout<<"请输入第一个整数: "<<endl; cin>>num_1; cout<<"请输入第二个整数数:"<<endl; cin>>num_2; if(num_1<num_2) { fac=num_1; num_1=num_2; num_2=fac; } C_divisor=divisor(num_1,num_2); C_multiple=multiple(num_1,num_2); cout <<"两整数的最大公约数是: "<<C_divisor<<" ,最小公倍数是:"<<C_multiple<<endl;}int divisor(int num_1,int num_2){ int C_d=0; while(num_1%num_2!=0) { C_d=num_1%num_2; num_1=num_2; num_2=C_d; } return C_d;}int multiple(int num_1,int num_2){ int C_m; if(num_1%num_2==0) C_m=num_1; else C_m=(num_1*num_2)/divisor(num_1,num_2); return C_m;}
7.
#include <iostream>void fun_1();void fun_2();void fun_3();using namespace std;int main(){ cout <<"全部输出:"<<endl; fun_1(); cout <<endl<<endl; cout <<"对角线以下输出:"<<endl; fun_2(); cout <<endl<<endl; cout <<"对角线以上输出:"<<endl; fun_3(); cout <<endl; return 0;}void fun_1(){ int fac_1,fac_2,pro; for(fac_2=1;fac_2<=9;fac_2++) { for(fac_1=1;fac_1<=9;fac_1++) { pro=(fac_1*fac_2); cout <<fac_1<<"×"<<fac_2<<"="<<pro<<" "; if (pro<10) cout<<" "; } cout << endl; }}void fun_2(){ int fac_1,fac_2,pro; for(fac_2=1;fac_2<=9;fac_2++) { for(fac_1=1;fac_1<=fac_2;fac_1++) { pro=(fac_1*fac_2); cout <<fac_1<<"×"<<fac_2<<"="<<pro<<" "; if (pro<10) cout<<" "; } cout << endl; }}void fun_3(){ int fac_1,fac_2,pro; for(fac_2=1;fac_2<=9;fac_2++) { for(fac_1=1;;fac_1++) { if(fac_1<fac_2) cout<<" "; else { pro=fac_1*fac_2; cout <<fac_1<<"×"<<fac_2<<"="<<pro<<" "; if (pro<10) cout <<" "; } if(fac_1==9) break; } cout <<endl; }}
8.
第三:编程实现输入两个4X5矩阵和5X3矩阵,定义函数并在主函数中调用计算它们的积。
#include <iostream>using namespace std;void cal(int arr1[4][5],int arr2[5][3],int arr3[4][3]);int main(){ int arr1[4][5],arr2[5][3]; int arr3[4][3]={0}; int i,j; cout<<"请输入4*5矩阵的数:"<<endl<<endl<<endl; for(i=0;i<4;i++) { for(j=0;j<5;j++) { cout<<"请输入第#"<<i+1<<"行"<<"第#"<<j+1<<"个数:"<<endl; cin>>arr1[i][j]; } } cout<<"请输入5*3矩阵的数:"<<endl<<endl<<endl; for(i=0;i<5;i++) { for(j=0;j<3;j++) { cout<<"请输入第#"<<i+1<<"行"<<"第#"<<j+1<<"个数:"<<endl; cin>>arr2[i][j]; } } cal(arr1,arr2,arr3); cout<<"结果是:"<<endl; for(i=0;i<4;i++){ for(j=0;j<3;j++) cout <<arr3[i][j]<<" "; cout <<endl; } return 0;}void cal(int arr1[4][5],int arr2[5][3],int arr3[4][3]){ int i,j,k; cout<<"4*5的矩阵为:"<<endl; for(i=0;i<4;i++) { for(j=0;j<5;j++) cout<<arr1[i][j]<<" "; cout<<endl; } cout<<"5*3的矩阵为:"<<endl; for(i=0;i<5;i++) { for(j=0;j<3;j++) cout<<arr2[i][j]<<" "; cout<<endl; } for(i=0;i<4;i++) for(k=0;k<3;k++) for(j=0;j<3;j++) { arr3[i][k]+=arr1[i][j]*arr2[j][k]; }}
第四:编程计算S[n]=1!+21+3!+...n!。要求定义两个函数,一个计算n!,一个计算s[n],在后一个函数中调用前一个函数。然后在主程序中输入数n的值,然后调用定义函数输出结果。
#include <iostream>int count(int n);int fac(int n);using namespace std;int main(){ int n,add; cout <<"请输入整数n: "<<endl; cin >>n; add=count(n); cout <<"S=1!+2!+……n!= "<<add<<endl; return 0;}int fac(int n){ int i,add=n; for(i=n-1;i>0;i--) add*=i; return add;}int count(int n){ int i,add=0; for(i=n;i>0;i--) add+=fac(i); return add;}
第五:
#include <iostream>void fun(int n);using namespace std;int main(){ int n; cout << "请输入一个16进制的数: "; cin >>hex>>n; fun(n); return 0;}void fun(int n){ cout <<"该数的十进制形式为:"<<n<<endl;}
0 0