日常刷题篇(入门)

简介: 我从简单到难,一起走上漫漫刷题路!我会持续在我的博客中更新我每天刷题的内容!相互交流!

我从简单到难,一起走上漫漫刷题路!

我会持续在我的博客中更新我每天刷题的内容!

相互交流!

大家一键三连,多多关注!

这是今天我给大家带来的题!以后难度逐渐加深!


1.平均身高

描述

从键盘输入5个人的身高(米),求他们的平均身高(米)。

输入描述:

一行,连续输入5个身高(范围0.00~2.00),用空格分隔。

输出描述:

一行,输出平均身高,保留两位小数

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<math.h>
int main() {
    double a = 0.0, b = 0.0, c = 0.0, d = 0.0, e = 0.0, m = 0.0;
    scanf("%lf%lf%lf%lf%lf%lf", &a, &b, &c, &d, &e);
    m = (a + b + c + d + e) / 5.0;
    printf("%.2lf", m);
    return 0;
}

2.挂科危险

描述

KiKi想知道这学期他的学习情况,BoBo老师告诉他这学期挂的科目累计的学分,根据所挂学分,判断KiKi学习情况,10分以上:很危险(Danger++),4~9分:危险(Danger),0~3:Good。

输入描述:

一行,一个整数(0~30),表示KiKi挂的科目累计的学分。

输出描述:

一行,根据输入的挂科学分,输出相应学习情况(Danger++,Danger,Good)。

#include <stdio.h>
int main() {
    int n=0;
    scanf("%d",&n);
    if(n>=10)
    printf("Danger++");
    else if(n>=4&&n<=9)
    printf("Danger");
    else if(n>=0&&n<=3)
    printf("Good");
    return 0;
}

3. HTTP状态码

描述

KiKi访问网站,得到HTTP状态码,但他不知道什么含义,BoBo老师告诉他常见HTTP状态码:200(OK,请求已成功),202(Accepted,服务器已接受请求,但尚未处理。)400(Bad Request,请求参数有误),403(Forbidden,被禁止),404(Not Found,请求失败),500(Internal Server Error,服务器内部错误),502(Bad Gateway,错误网关)。

输入描述:

多组输入,一行,一个整数(100~600),表示HTTP状态码。

输出描述:

针对每组输入的HTTP状态,输出该状态码对应的含义,具体对应如下:
200-OK

202-Accepted

400-Bad Request

403-Forbidden

404-Not Found

500-Internal Server Error

502-Bad Gateway

#include <stdio.h>
int main() {
    int a;
    while(scanf("%d",&a)!=EOF)
    {
        if(a==200)
        printf("OK\n");
        else if(a==202)
        printf("Accepted\n");
        else if(a==400)
        printf("Bad Request\n");
        else if(a==403)
        printf("Forbidden\n");
        else if(a==404)
        printf("Not Found\n");
        else if(a==500)
        printf("Internal Server Error\n");
        else if(a==502)
        printf("Bad Gateway\n");
    }
    return 0;
}

4.数字三角形

描述

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用数字组成的数字三角形图案。

输入描述:

多组输入,一个整数(3~20),表示数字三角形边的长度,即数字的数量,也表示输出行数。

输出描述:

针对每行输入,输出用数字组成的对应长度的数字三角形,每个数字后面有一个空格。

#include <stdio.h>
int main() {
    int n=0,a=0,b=0;
    while(scanf("%d",&n)!=EOF)
    {
        for(a=1;a<=n;a++)
        {
            for(b=1;b<=a;b++)
            printf("%d ",b);
            printf("\n");
        }
    }
    return 0;
}

5.公务员面试

描述

公务员面试现场打分。有7位考官,从键盘输入若干组成绩,每组7个分数(百分制),去掉一个最高分和一个最低分,输出每组的平均成绩。

(注:本题有多组输入)

输入描述:

每一行,输入7个整数(0~100),代表7个成绩,用空格分隔。

输出描述:

每一行,输出去掉最高分和最低分的平均成绩,小数点后保留2位,每行输出后换行。

#include <stdio.h>
int main() {
    int arr[7] = {0};
    while (scanf("%d %d %d %d %d %d %d", &arr[0], &arr[1], &arr[2], &arr[3],
                 &arr[4], &arr[5], &arr[6]) != EOF) {
        int max = 0;
        int min = 100;
        int sum = 0;
        float avg = 0;
        for (int i = 0; i < 7; i++) {
            arr[i] > max ? max = arr[i] : max;
            arr[i] < min ? min = arr[i] : min;
        }
        for (int j = 0; j < 7; j++) {
            if (min != arr[j] && max != arr[j]) {
                sum += arr[j];
            }
        }
        avg = sum / 5.0;
        printf("%.2f\n", avg);
    }
    return 0;
}

6.有序序列插入一个数

描述

有一个有序数字序列,从小到大排序,将一个新输入的数插入到序列中,保证插入新数后,序列仍然是升序。

输入描述:

第一行输入一个整数(0≤N≤50)。

第二行输入N个升序排列的整数,输入用空格分隔的N个整数。

第三行输入想要进行插入的一个整数。

输出描述:

输出为一行,N+1个有序排列的整数。

#include <stdio.h>
int main() {
    int n = 0, i = 0, temp, ret;
    int arr[52] = {0};
    while (scanf("%d", &n) != EOF) {
        arr[i++] = n; 
    }
    for (i = 1; i <= arr[0]; i++) {
        if (arr[arr[0] + 1] < arr[i]) break;
    }
    ret = arr[arr[0] + 1];
    for (int j = arr[0] + 1; j > i; j--) {
        arr[j] = arr[j - 1];
    }
    arr[i] = ret;
    for (int i = 1; i <= arr[0] + 1; i++) {
        printf("%d ", arr[i]);
    }
    return 0;
}

7.筛选法求素数

描述

用筛选法求n以内的素数。筛选法求解过程为:将2~n之间的正整数放在数组内存储,将数组中2之后的所有能被2整除的数清0,再将3之后的所有能被3整除的数清0 ,以此类推,直到n为止。数组中不为0 的数即为素数。

输入描述:

多组输入,每行输入一个正整数(不大于100)。

输出描述:

针对每行输入的整数n,输出两行,第一行,输出n之内(包括n)的素数,用空格分隔,


第二行,输出数组中2之后被清0 的个数。每行输出后换行。

#include <stdio.h>
int main() {
    int n = 0, num = 0;
    int arr[300] = {0};
    while (scanf("%d", &n) != EOF) {
        for (int i = 2; i <= n; i++) {
            arr[i] = i;
        }
    }
    for (int i = 2; i <= n; i++) {
        for (int j = i + 1; j <= n; j++) {
            if (arr[i] && j % arr[i] == 0) {
                arr[j] = 0;
            }
        }
    }
    for (int i = 2; i <= n; i++) {
        if (arr[i] != 0) {
            printf("%d ", arr[i]);
            num++;
        }
    }
    printf("\n");
    printf("%d\n", n - num - 1);
    return 0;
}

8.图像相似度

描述

给出两幅相同大小的黑白图像(用0-1矩阵)表示,求它们的相似度。若两幅图像在相同位置上的像素点颜色相同,则称它们在该位置具有相同的像素点。两幅图像的相似度定义为相同像素点数占总像素点数的百分比。

输入描述:

第一行包含两个整数m和n,表示图像的行数和列数,用单个空格隔开。1≤m≤100, 1≤n≤100。之后m行,每行n个整数0或1,表示第一幅黑白图像上各像素点的颜色,相邻两个数用单个空格隔开。之后m行,每行n个整数0或1,表示第二幅黑白图像上各像素点的颜色,相邻两个数用单个空格隔开。

输出描述:

一个实数,表示相似度(以百分比的形式给出),精确到小数点后两位。

#include <stdio.h>
#include <stdlib.h>
int main() {
    int m, n;
    int sum = 0;
    int count = 0;
    scanf("%d %d", &n, &m);
    sum = n * m;
    int* a1 = (int*)malloc(sizeof(int) * sum);
    int* a2 = (int*)malloc(sizeof(int) * sum);
    int i = 0;
    for (i = 0; i < sum; i++) {


相关文章
|
6月前
|
测试技术
蓝桥杯刷题|03入门真题
蓝桥杯刷题|03入门真题
|
6月前
|
测试技术
蓝桥杯刷题|01入门真题
蓝桥杯刷题|01入门真题
|
6月前
|
测试技术
蓝桥杯刷题|02入门真题
蓝桥杯刷题|02入门真题
|
存储 算法 C语言
日常刷题篇(入门)
我从简单到难,一起走上漫漫刷题路! 我会持续在我的博客中更新我每天刷题的内容! 相互交流!
日常刷题篇(入门)
我从简单到难,一起走上漫漫刷题路! 我会持续在我的博客中更新我每天刷题的内容! 相互交流!
|
JavaScript 前端开发 数据安全/隐私保护
牛客前端宝典——刷题 ##Day1
🏆编程就像我们平常做题一样,如果只是一味的学习不去做题的话所得到的效果微乎其微。
135 0
牛客前端宝典——刷题 ##Day1
下一篇
无影云桌面