华中科技大学SPOC编程题第四章

1计算小球的高度。(10分)
题目内容:

一个小球从100米高处落下,每次落地后反弹回原高度的一半,再落下。求它在第n次落地时共经过多少米?第n次反弹多高?n 的值由用户输入取值范围是1<=n<=10 。

输入格式:

输入n的值

输出格式:

先输出第n次落地时共经过多少米,然后再输出反弹的高度。注意输出的数值小数点后保留4 位小数,

输出语句中的标点符号是中文标点符号。

输入样例:

10

输出样例:

第10次落地时,共经过299.6094米;反弹高度是0.0977米。

时间限制:500ms内存限制:32000kb

#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int main(){
    
    
int n,i;
double h=0,sh=100;cin>>n;
for( i=0;i<n;i++)
{
    
    
sh+=2*h;h=100*pow(0.5,i+1);
}
cout<<"第"<<n<<"次落地时,共经过"<<setiosflags(ios::fixed)<<setprecision(4)<<sh<<"米"<<";反弹高度是"<<setiosflags(ios::fixed)<<setprecision(4)<<h<<"米。"<<endl;}

2计算表达式的值。(10分)
题目内容:

编写程序实现计算下列表达式的值。

f(x)=1/n(12+22+32+⋯+n2) (n为整数,由用户输入)

注意:式中n为1,2,3,… ,中取值,n^2为n的平方。

如果n的值小于等于0则表达式的值为0 。

输入格式:

输入n 的值

输出格式:

输出计算的表达式的值。

输入样例:

15

输出样例:

表达式的值=82.6667

时间限制:500ms内存限制:32000kb

#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int main(void){
    
    
double n;double s;cin>>n;
if(n<=0)
s=0;
else s=(n+1)*(2*n+1)/6;

cout<<"表达式的值="<<s<<endl;}

3进制转换(10分)
题目内容:

请编写程序,将任意长度的5进制整数转换为十进制数,并输出转换结果,如果输入数据非法则显示Input error。

注意Input error之间有一个英文空格。

输入格式:

输入要转换的数

输出格式:

输出转换的结果。

输入样例1:

1234

输出样例1:

194

输入样例2:

789

输出样例2:

Input error

时间限制:500ms内存限制:32000kb

#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int main(void){
    
    int n,s=0,i=0,flag=0;cin>>n;
while(n!=0)
{
    
    if(n%10>4)
{
    
    flag=1;break;}
s+=(n%10)*pow(5,i);
n/=10;i++;
}
if(flag==1)
cout<<"Input error"<<endl;
else cout<<s<<endl;

}

猜你喜欢

转载自blog.csdn.net/weixin_51236357/article/details/112075635
今日推荐