第7章4-6题

    xiaoxiao2021-03-25  138

    第4题

    #include<iostream>long double probability(int all , int right);int main(){ using namespace std; int nu = 0; int choose = 0; cout<<"请输入普选号码总数以及选择的号码个数.\n"; cin>>nu>>choose; long double commonPro = probability(nu,choose); cout<<"请输入特选号码总数以及选择号码个数.\n"; cin>>nu>>choose; long double specialPro = probability(nu,choose); cout<<"中奖概率位"<<commonPro*specialPro; return 0;}long double probability(int all , int right) //计算概率{ long double pro = 1; for(int i = right ; i > 0 ; --i) { pro = pro * right / all; --right; --all; } return pro;}

    第5题

    #include<iostream>long long goRound(int nu); //c++11 long longint main(){ using namespace std; int ts = 0; cout<<"请输入一个整数:"; while(cin>>ts) { if(ts < 0 or ts > 12) //乘积计算限定在0-12否则long long也可能吃不消。。 break; cout<<ts<<"的乘积为:"<<goRound(ts)<<endl; } cout<<"Bye!";//当输入不为整数的时候推出循环 return 0;} long long goRound(int nu){ long long result = nu; if(nu == 0) return 1; else { --nu; result = result * goRound(nu); } return result;}

    第6题

    #include<iostream>int fillArray(double* arr , int lenght); void showArray(const double* arr , int lenght);void turnArray(double* arr , int lenght);using namespace std;int main(){ double myArray[10]; //先声明一个包含10个元素的数组 int maxLenght = fillArray(myArray,10); showArray(myArray,maxLenght); cout<<"反转数组.\n"; turnArray(myArray,maxLenght); showArray(myArray,maxLenght); cout<<"除首尾元素外,反转其他元素.\n"; double* newHeader = myArray+1; int newTail = maxLenght - 2; turnArray(newHeader,newTail); //这里传入数组第二个元素的地址,长度为原数组元素个数-2 showArray(myArray,maxLenght); return 0;}int fillArray(double* arr , int lenght){ double mid = 0; int realLenght = 0; for(int i = 0 ; i < lenght ; ++i) { cout<<"请输入第"<<i+1<<"个数:"; if(cin>>mid) { *(arr+i) = mid; ++realLenght; } else break; } return realLenght;}void showArray(const double* arr , int lenght){ for(int i = 0 ; i < lenght ; ++i) cout<<"第"<<i+1<<"个数为"<<*(arr+i)<<endl;}void turnArray(double* arr , int lenght){ double midArray[lenght]; //声明一个数组暂时存放数据 for(int i = 0 ; i < lenght ; ++i) *(midArray+i) = *(arr+i); for(int i = 0 ; i < lenght ; ++i) *(arr+i) = *(midArray + (lenght-1) - i); //翻转}

    转载请注明原文地址: https://ju.6miu.com/read-15146.html

    最新回复(0)