牛客网刷题记录 || 循环

发布于:2023-01-04 ⋅ 阅读:(219) ⋅ 点赞:(0)

这是牛客网刷题记录专栏第七篇博文,先给大家简单介绍一下牛客网,牛客网是一个集笔面试系统、题库、课程教育、社群交流、招聘内推于一体的优质网站牛客网题库中包含几万道题目,注重通过边学边练的模式揽获编程人员的喜爱
在这里插入图片描述

牛客网干净整洁的界面,人性化的布局,高质量的题库题解,丰富的大厂面试题,让我想把它分享给大家,推荐大家来牛客网刷题,链接我就放在这了有需要自取👉点击开始刷题

小Tips:注册完之后,不用填信息直接点X,开启刷题之旅~


循环

🔥1.求1 - n之间的偶数和

在这里插入图片描述

👌描述

键盘输入一个 int 类型的正整数 n,n 的范围为[1, 1000],求 1 - n 之间偶数的和,并输出

输入描述:
输入任意一个 int 类型的正整数,n 的范围为[1, 1000]

输出描述:
输出 1 - n 之间偶数的和

示例1:

输入:
4
输出:
6

示例2:

输入:
10
输出:
30

👌代码

#include <iostream>
using namespace std;

int main() {
    
    int n;
    cin >> n;
    int sum = 0;
    
    // write your code here......
    for (int i = 2; i <= n; i++) {
        if (i % 2 == 0) {
            sum += i;
        }
    }
    

    cout << sum << endl;
    
    return 0;
}

👌题解

对于运算符 % 的运用

在这里插入图片描述


🔥2.打印乘法表

在这里插入图片描述

👌描述

键盘输入一个正整数 n,打印对应的乘法表
例如键盘输入 3,则打印 3 × 3 乘法表
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9

输入描述:
输入 1 - 9 之间的任意一个正整数 n

输出描述:
输出对应的乘法表。
例如键盘输入 3,则打印 3 × 3 乘法表
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
要求:数字和符号之间空格隔开,式子和式子之间使用 4 个空格隔开

示例1:

输入:
3
输出:
1 * 1 = 1
1 * 2 = 2    2 * 2 = 4
1 * 3 = 3    2 * 3 = 6    3 * 3 = 9

👌代码

#include <iostream>
using namespace std;

int main() {
	int n;
	cin >> n;
    for(int i = 1; i <= n; i++){ //行数
        for(int j = 1; j <= i; j++){ //列数
            cout << j << " * " << i << " = " << i * j << "    ";
        }
        cout << endl;
    }
	return 0;
}

在这里插入图片描述

👌题解

遍历1 ~ n行,用n来约束行数,然后对于每一行,遍历1 ~ i列,用每行的行号i来约束列,对于每次遍历,按照上述要求输出即可。每次结束一行,需要输入换行符


🔥3.规律数列求和

在这里插入图片描述

👌描述

有数列为:9,99,999,…,9999999999(10个9)。要求使用循环结构编写程序计算此数列的和,并在控制台输出结果

输入描述:

输出描述:
该数列的和

👌代码

#include <iostream>
#include <math.h>
using namespace std;

int main() {

    // write your code here......
    long int i = atol(string(10,'1').c_str());
    cout<<i*10-10;

    return 0;
}

👌题解

规律就是:用n个1的数字*10减去n即可求得和的结果

在这里插入图片描述


🔥4.计算小球走过的路程和反弹高度

👌描述

一球从 h 米高度自由落下,每次落地后反跳回原高度的一半再落下,求它在第 n 次落地时共经过了多少米?第 n 次返弹多高?

输入描述:
输入小球下落的高度和落地的次数(先输入小球初始高度再输入反弹次数)

输出描述:
输出小球第 n 次 落地时经过的距离和第 n 次反弹的高度(保留小数点后1位)

示例1:

输入:
100 1
输出:
100.0 50.0

示例2:

输入:
100 3
输出:
250.0 12.5

👌代码

#include <iostream>
#include <iomanip>
using namespace std;

int main() {

    // 下落的高度和落地的次数
    double h;
    int n;

    cin >> h;
    cin >> n;

    //记录第n次反弹时总共走过的记录
    double dist=0;
    for(int i=1;i<=n;i++){
        h/=2;
        dist+=h*3;
    }
    cout<<fixed<<setprecision(1)<<dist-h<<" "<<h<<endl;

    return 0;
}

👌题解

利用循环计算每次反弹时的高度(记为h),以及经过了多少米(记为dist),因为输出的是第n次落地时走了多少米,所以dist要减去最后反弹的高度h


循环来咯~ 👉点击开始刷题


网站公告

今日签到

点亮在社区的每一天
去签到