C++语言程序设计基础(学堂在线)习题

本文提供了多个C++编程基础习题,包括序列求和、进制转换、直角三角形判断、斐波那契数列计算、丑数判断、最大公约数计算、反转整数、一元二次方程求解、模拟理财应用及老鼠类对象计数等,旨在锻炼C++编程能力。
摘要由CSDN通过智能技术生成

C2-1简单题目 (100/100 分数)
题目描述
任意给定 n 个整数,求这 n 个整数序列的和、最小值、最大值

输入描述
输入一个整数n,代表接下来输入整数个数,0 < n <= 100,接着输入n个整数,整数用int表示即可。

输出描述
输出整数序列的和、最小值、最大值。用空格隔开,占一行

样例输入
2
1 2
样例输出
3 1 2

#include<stdio.h>
#include<iostream>

using namespace std;

int main()
{
   
    int number,sum=0,input_number,maximum=-10000000,minimum=1000000;
    cin >> number;
    for(int i=0;i<number;i++)
        {
   
            cin >> input_number;
            maximum = (maximum > input_number)?maximum:input_number;
            minimum = (minimum < input_number)?minimum:input_number;
            sum += input_number;
        }
    cout << sum << " " << minimum << " " << maximum << endl;
    return 0;
}

C2-2 进制转换 (100 满分)
题目描述
已知一个只包含 0 和 1 的二进制数,长度不大于 10 ,将其转换为十进制并输出。

输入描述
输入一个二进制整数n,其长度大于0且不大于10

输出描述
输出转换后的十进制数, 占一行

样例输入
110

样例输出
6

#include<stdio.h>
#include<iostream>
#include<math.h>

using namespace std;


int main()
{
   
    int b_number,d_number=0,i=0,tmp;
    cin >> b_number;
    while(b_number)
    {
   
        tmp = b_number % 10;
        d_number += tmp * pow(2,i);
        ++i;
        b_number /= 10;
    }
    cout << d_number << endl;
    return 0;
}

C3-1 直角三角形 (100/100 分数)
题目描述

输入一个三角形的3边长度,判断该三角形是否为直角三角形,若是则输出True,若不是则输出False。推荐做法:定义一个函数,接受三个int参数,返回bool,再用主函数调用之。

输入描述
每行输入三个由空格隔开的整数 a, b, c ,表示三角形的 3 条边长

1 <= a,b ,c <= 10000

输出描述
对于每一行输入,输出True或者False表明是否为直角三角形

样例输入
3 4 5
6 7 8
1 1 1

样例输出
True
False
False

#include<stdio.h>
#include<iostream>
#include<string>

using namespace std;


int is_triangle(int a,int b,int c)
{
   
    if(a * a + b * b == c * c)
        return 1;
    else if(a * a + c * c == b * b)
        return 1;
    else if (b * b + c * c == a * a)
        return 1;
    else
        return 0;
}
 
int main()
{
   
    int a,b,c,flag;
    string Flag;
    cin >> a >> b >> c;
    flag = is_triangle(a,b,c);
    Flag =(flag == 1)?"True":"False";
    cout << Flag << endl;
    return 0;
}

C3-2 斐波那契数列 (100 满分)
题目描述
斐波那契数列f(n)满足以下定义:

f(0) = 1, f(1) = 1, f(n) = f(n-1) + f(n-2) (n >= 2)。

请用递归的方法编写函数,对于给定的n,求出斐波那契数列的第n项f(n)

输入描述
每行输入一个整数 n

0 <= n<= 30

输出描述
对于每一行输入,输出斐波那契数列第n项的值f(n)

样例输入
1
10
25
样例输出
1
89
121393

  /* students please write your program here */
#include<stdio.h>
#include<iostream>

using namespace std;

int fib(int n);

int main()
{
   
    int n;
    cin >> n;
    cout << fib(n) << endl;
    return 0;
}

int fib(int n)
{
   
    int f0 = 1,f1 = 1,tmp;
    if(n==0)
        return 1;
    else if(n==1)
        return 1;
    else
        for(int i=0;i<=n-2
  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值