《C++程序设计实验2》


  1. 【描述】
    比较两个整数之间的大于、小于、等于、不等于关系。
    【输入】
    输入在一行中给出2个整数a和b。
    【输出】
    分行输出整数a和b之间的大于、小于、等于、不等于关系。
    【输入示例】

    5 3
    【输出示例】
    true
    false
    false
    true
    【来源】
    《程序设计基础——以C++为例》第2章实验1。

    (10分)

    我的答案:

    #include <iostream>
    #include <cmath>
    #include <iomanip>
    using namespace std;
    
    int main() {
    	int a, b;
    	cin >> a >> b;
    	cout << boolalpha << (a > b) << endl;
    	cout << boolalpha << (a < b) << endl;
    	cout << boolalpha << (a == b) << endl;
    	cout << boolalpha << (a != b) << endl;
    
    	return 0;
    }
  2. 【描述】
    计算三个整数的和、平均值、最小值和最大值。
    要求用条件运算符求最小值和最大值。
    【输入】
    输入在一行中给出整数a、b、c。
    【输出】
    分行输出整数a、b、c的和、平均值、最小值和最大值。
    【输入示例】

    5 3 -1
    【输出示例】
    7
    2.33333
    -1
    5
    
    (10分)

    我的答案:

    #include <iostream>
    #include <cmath>
    #include <iomanip>
    using namespace std;
    
    int main() {
    	int a, b, c, total, maxn, minn;
    	double ave;
    	cin >> a >> b >> c;
    	total = a + b + c;
    	ave = total / 3.0;
    	minn = a < b && a < c ? a : (b < c ? b : c);
    	maxn = a > b && a > c ? a : (b > c ? b : c);
    	cout << total << endl;
    	cout << ave << endl;
    	cout << minn << endl;
    	cout << maxn << endl;
    	return 0;
    
    }
  3. 【描述】
    输入一个整数,检查它是否能同时被2和3整除,是否被2或3整除,是否被2或3整除且只被其一整除。
    【输入】
    输入一个整数。
    【输出】
    分行输出该整数是否能同时被2和3整除,是否被2或3整除,是否被2或3整除且只被其一整除。见输出示例。
    【输入示例】

    18
    【输出示例】
    18 divisible by 2 and 3? true
    18 divisible by 2 or 3? true
    18 divisible by 2 or 3, but not both? false(10分)

    我的答案:

    #include <iostream>
    using namespace std;
    
    int main() {
    	int x;
    	cin >> x;
    	cout << x << " divisible by 2 and 3?" << boolalpha << (x % 2 == 0 && x % 3 == 0) << endl;
    	cout << x << " divisible by 2 or 3?" << boolalpha << (x % 2 == 0 || x % 3 == 0) << endl;
    	cout << x << " divisible by 2 or 3,but not both?" << boolalpha << (x % 2 == 0 && x % 3 != 0 || x % 2 != 0
    	        && x % 3 == 0) << endl;
    	return 0;
    }
  4. 【描述】
    编写程序,读取投资总额、年利率和年数,然后使用如下公式计算未来投资金额。

    【输入】
    一行中给出投资总额、年利率和年数,其间以空格分隔。
    【输出】
    一行中输出未来投资金额,结果保留2位小数。
    【输入示例】

    1000 3.25 1
    【输出示例】
    1032.99
    【提示】
    可以使用数学库中的pow函数来计算a的b次幂。
    年利率转换为月利率,年数转换为月数。

    (10分)

    我的答案:

    #include <iostream>
    #include <cmath>
    #include <iomanip>
    #include <cstdio>
    using namespace std;
    
    int main() {
    	double investmentAmount, yearlyInterestRate, numberOfYears, futureInvestmentValue;
    	cin >> investmentAmount >> yearlyInterestRate >> numberOfYears;
    	futureInvestmentValue = investmentAmount * pow((1 + yearlyInterestRate / 1200), numberOfYears * 12);
    	cout << fixed << setprecision(2) << futureInvestmentValue << endl;
    	return 0;
    }
  5. 【描述】
    输入一个整数a(a不为-1),求如下表达式的值,结果保留2位小数。

    【输入】
    输入一个整数a。
    【输出】
    输出表达式的值,结果保留2位小数。
    【输入示例】

    2
    【输出示例】
    2.26
    【提示】
    求三角函数cos的值可以使用数学库中的cos(x)函数,x为弧度值。求平方根可以使用数学库中的sqrt(x)函数。
    (10分)

    我的答案:

    #include <iostream>
    #include <cmath>
    #include <iomanip>
    using namespace std;
    
    int main() {
    	int a;
    	double x;
    	cin >> a;
    	x = (cos(50*3.14159/180) + sqrt(37.5)) / (a + 1);
    	cout << fixed << setprecision(2) << x << endl;
    	return 0;
    }
  6. 【描述】
    输入一个四位正整数,将该整数每一位上的数字加9,然后除以10取余,作为该位上的新数字,最后将千位和十位上的数字互换,百位和个位上的数字互换,组成变换后的新四位正整数并输出。题目保证转换后的数的千位不会为0。
    【输入】
    输入一个四位正整数。
    【输出】
    输出变换后的新四位正整数。
    【输入示例】

    1257
    【输出示例】
    4601
     

    (10分)

    我的答案:

    #include <iostream>
    #include <cmath>
    #include <iomanip>
    using namespace std;
    
    int main() {
    	int x, g, s, b, q, temp;
    	cin >> x;
    	g = x % 10;
    	s = (x / 10) % 10;
    	b = (x / 100) % 10;
    	q = (x / 1000) % 10;
    	g = (g + 9) % 10;
    	s = (s + 9) % 10;
    	b = (b + 9) % 10;
    	q = (q + 9) % 10;
    	temp = q;
    	q = s;
    	s = temp;
    	temp = b;
    	b = g;
    	g = temp;
    	cout << q << b << s << g << endl;
    	return 0;
    
    }
  7. 【描述】
    编写程序,输入两个整数,存放在整型变量a和b中,交换并输出a和b中的值。
    【输入】
    在一行中给出两个整数,以空格间隔。
    【输出】
    在一行中输出两个交换后的整数,以空格间隔,行末没有多余的空格。
    【输入示例】

    6 2
    【输出示例】
    2 6
     

    (10分)

    我的答案:

    #include <iostream>
    using namespace std;
    
    int main() {
        int a,b,c;
        cin>>a>>b;
        c=b;
        b=a;
        a=c;
        cout<<a<<" "<<b<<endl;
    	return 0;
    }
  8. 【描述】
    输入一个三位正整数,要求正确地分离出它的百位、十位和个位数,并输出。
    【输入】
    一个三位正整数。
    【输出】
    分行输出该正整数的百位、十位和个位数。
    【输入示例】

    123
    【输出示例】
    1
    2
    3

    (10分)

    我的答案:

    #include <iostream>
    using namespace std;
    
    int main() {
        int a,b,c,n;
        cin>>n;
        a=n%10;
        b=(n/10)%10;
        c=(n/10/10)%10;
        cout<<c<<endl;
        cout<<b<<endl;
        cout<<a<<endl;
    	return 0;
    }
  9. 【描述】
    编写程序,根据火车的出发时间和达到时间计算整个旅途所用的时间。
    【输入】
    在一行中给出两个正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为两位小时数(00~23)和两位分钟数(00~59),假设出发和到达在同一天内。
    【输出】
    在一行中输出该旅途所用的时间,格式为“hh:mm”,其中hh为两位小时数、mm为两位分钟数。
    【输入示例】

    1201 1530
    【输出示例】
     

    03:29

    (10分)

    我的答案:

    #include <iostream>
    using namespace std;
    
    int main() {
    	int x, y, h1, h2, m1, m2, c1, c2;
    	cin >> x >> y;
    	h1 = x / 100;
    	h2 = y / 100;
    	m1 = x % 100;
    	m2 = y % 100;
    	c1 = h2 - h1;
    	c2 = m2 - m1;
        if(c2<0){
            c2+=60;
            c1-=1;
        }
    	if (c1 < 10 && c2 < 10) {
    		cout << "0" << c1 << ":" << "0" << c2 << endl;
    	}
    	if (c1 < 10 && c2 >= 10) {
    		cout << "0" << c1 << ":" << c2 << endl;
    	}
    	if (c1 >= 10 && c2 < 10) {
    		cout << c1 << ":" << "0" << c2 << endl;
    	}
    	if (c1 >= 10 && c2 >= 10) {
    		cout << c1 << ":" << c2 << endl;
    	}
    
    	return 0;
    
    }
  10. 【描述】
    小明有5元钱,他想去买雪糕吃,雪糕的价格各不相同,根据雪糕的价格,计算小明最多能买多少根雪糕。
    【输入】
    输入只有一个数,一根雪糕的价格,单位是元。
    【输出】
    输出只一个整数,小明最多能买到的雪糕数。
    【输入示例】

    1.3
    【输出示例】
     

    3

    (10分)

    我的答案:

    #include <iostream>
    #include <cmath>
    #include <iomanip>
    using namespace std;
    
    int main() {
        double x;
        cin>>x;
        cout<<int(5/x);
    	return 0;
    }
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值