c++ 上机实验题

   c++语言俺是不会啦,但是朋友考试需要,那只能勉为其难的入门下做做考试题了。

 

以下就是具体的题目和答案:

----------------------------------------------------------------

1、输入圆的半径r和圆柱的高h,依次输出圆周长、圆面积、圆球表面积、圆柱体积。其中,圆周长=2πr,圆面积=πr2,圆球表面积=4πr2,圆柱体积=hπr2

 

源代码如下:

 

#include<iostream>

#include<math.h>

usingnamespace std;

 

int main() {

    double r;

    double h;

    cout<<"输入圆的半径r";

    cin >> r;

   

    cout<<"输入圆柱的高h";

    cin >> h;

   

    //计算周长:圆周长=2πr

    double circle_p = 2*M_PI*r;

    cout<<"圆周长为:"<<circle_p<<endl;

   

   

    //计算面积:圆面积=πr2

    double circle_s = M_PI*r*r;

    cout<<"圆面积为:"<<circle_s<<endl;

   

    //计算表面积:圆球表面积=4πr2

    double circle_sp = 4*M_PI*r*r;

    cout<<"圆球表面积为:"<<circle_sp<<endl;

   

   

    //计算表面积:圆柱体积=hπr2

    double circle_v = h*M_PI*r*r;

    cout<<"圆球表面积为:"<<circle_v<<endl;

   

    return 0;

}

 

 

运行结果第一组:

 

输入圆的半径r1

输入圆柱的高h1

圆周长为:6.28319

圆面积为:3.14159

圆球表面积为:12.5664

圆球表面积为:3.14159

 

 

运行结果第二组:

输入圆的半径r2

输入圆柱的高h3

圆周长为:12.5664

圆面积为:12.5664

圆球表面积为:50.2655

圆球表面积为:37.6991

 

 

 

 

2、输入大写字母,输出对应的小写字母。

 

源代码如下:

 

#include<iostream>

#include<string>

usingnamespace std;

 

int main() {

    char a;

    cout<<"请输入一个大写英文字母:";

   

    cin >> a;

    //输入一字符,若为大写字母,转小写输出;

    if(a>='A' && a<='Z'){

       a= a+32;

    }

    cout << "您输入的大写字母对应的小写字母是:" << a << endl ;

      

    return 0;

}

 

 

运行结果第一组:

 

请输入一个大写英文字母:A

您输入的大写字母对应的小写字母是:a

 

运行结果第二组:

 

请输入一个大写英文字母:B

您输入的大写字母对应的小写字母是:b

 

 

 

 

3、有一分段函数如下,请编写程序,输入x值,输出y值。


 
<!--[endif]-->

 

 

源代码如下:

 

 

#include<iostream>

#include<math.h>

usingnamespace std;

 

int main() {

    double x;

    cout<<"输入x值:";

    cin >> x;

   

    double y = 0;

    if(x<0){

       //x<0

       y = pow(x,2)+2/x+sin(x);

    }elseif(x>=0 && x<10){

       // 0<=x<10

       y = 2*pow(x,5)-cos(x);

    }elseif(x>=10){

       //x>=10

       y = 1/sqrt(3*pow(x,2)-11);

    }

   

   

    cout<<"y值:"<<y<<endl;

   

    return 0;

}

 

 

运行结果第一组:

输入x值:-2

y值:2.0907

 

 

运行结果第二组:

输入x值:1

y值:1.4597

 

 

 

 

 

4、输入年份year,判断是否是闰年,若不是,输出NO,否则输出YES。(判断闰年的标准是:1、年份能被4整除而不能被100整除 2、年份能被400整除) 

 

源代码如下:

 

#include<iostream>

usingnamespace std;

 

int main() {

    int year;

    cout<<"输入年份值:";

    cin >> year;

 

   

    //1、年份能被4整除而不能被100整除 2、年份能被400整除

    if( (year%100==0)  || (year%4==0 && year%100!=0) ){

       cout<<"YES"<<endl;

    }else{

       cout<<"NO"<<endl;

    }

   

    return 0;

}

 

运行结果第一组:

输入年份值:2012

YES

 

运行结果第二组:

输入年份值:2015

NO

 

 

 

 

 

5、输入两个正整数mn,编写程序求其最大公约数和最小公倍数。

 

源代码如下:

 

#include<iostream>

usingnamespace std;

 

//求最大公约数

int MaxY(int a, int b) {

    int min, max;

    int r;

    max=a>b ? a : b;

    min=a<b ? a : b;

    if (max%min==0)

       return min;

    while (max%min!=0) {

       r=max%min;

       max=min;

       min=r;

    }

    return min;

}

 

//求最小公倍数

int MinY(int a, int b) {

    int min, max;

    int r;

    max=a>b ? a : b;

    min=a<b ? a : b;

    if (max%min==0)

       return max;

    while (max%min!=0) {

       r=max%min;

       max=min;

       min=r;

    }

    return a*b/min;

}

 

int main() {

    int m, n;

 

    cout<<"请输入两个数,求这两个数的最大公约数和最小公倍数(用空格分隔,按回车键(Enter)):";

    cin>>m>>n;

 

    cout<<"这两个整数的最大公约数为:"<<MaxY(m, n)<<endl;

    cout<<"这两个整数的最小公倍数为:"<<MinY(m, n)<<endl;

 

    return 0;

}

 

运行结果第一组:

请输入两个数,求这两个数的最大公约数和最小公倍数(用空格分隔,按回车键(Enter)):5 25

这两个整数的最大公约数为:5

这两个整数的最小公倍数为:25

 

运行结果第二组:

请输入两个数,求这两个数的最大公约数和最小公倍数(用空格分隔,按回车键(Enter)):4 30

这两个整数的最大公约数为:2

这两个整数的最小公倍数为:60

 

 

 

 

 

 

posted on 2016-06-28 19:18  疯子123  阅读(1044)  评论(0编辑  收藏  举报

导航