首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【C语言刷题】第八天:加量加餐继续,代码题训练,熟练IO模式

【C语言刷题】第八天:加量加餐继续,代码题训练,熟练IO模式

作者头像
艾莉丝努力练剑
发布2025-11-13 10:00:13
发布2025-11-13 10:00:13
1420
举报
文章被收录于专栏:C / C++C / C++

🔥个人主页艾莉丝努力练剑 ❄专栏传送门:《C语言》《数据结构与算法》C语言刷题12天IO强训 🍉学习方向:C/C++方向 ⭐️人生格言:为天地立心,为生民立命,为往圣继绝学,为万世开太平



前言:上一篇博客又带大家刷了一些相对来说简单的代码题目,本篇文章我们将继续练习下面的题目。这些题目有的挖了大坑,大家做的时候要留意,如果做不出来,看了代码演示后要自己多敲几遍,去理解代码的逻辑。 宇宙安全声明:鉴于博主能力有限,本专栏适用于代码小白刷题,大佬们多多包涵(抱拳)!

正文

一、平均身高

BC72 平均身高

这道题很简单,我就不展开讲啦,直接看博主的代码演示吧——

写法(1):

代码语言:javascript
复制
#include <stdio.h>

int main() 
{
    double score = 0.0;
    double sum = 0.0;
    int arr[5] = {0};
        int i = 0;
        for(i = 0;i < 5;i++)
        {
            scanf("%lf",&score);
            sum += score;
        }
        printf("%.2lf",sum/5);
    return 0;
}

写法(2):

代码语言:javascript
复制
#include <stdio.h>

int main() 
{
    int i = 0;
    float h = 0.0;
    float sum = 0.0;
    for(i = 0;i < 5;i++)
    {
        scanf("%f",&h);
        sum += h;
    }
        printf("%.2f",sum/5);
    return 0;
}

写法(3):

代码语言:javascript
复制
#include <stdio.h>

int main() 
{
    int i = 0;
    double sum = 0.0;
    float h[5] = {0};
        for(i = 0;i < 5;i++)
        {
            scanf("%f",&h[i]);
        }
        for(i = 0;i < 5;i++)
        {
            sum += h[i];
        }
        printf("%.2lf\n",sum/5);
    return 0;
}

二、HTTP状态码

BC74 HTTP状态码

1、多组输入; 2、状态码比较多,且为整数,我们要不可以考虑用switch语句。

代码语言:javascript
复制
#include <stdio.h>

int main() 
{
    int s = 0;
    while(scanf("%d",&s) != EOF)
    {
        switch(s)
        {
            case 200:
            printf("OK\n");
            break;
            case 202:
            printf("Accepted\n");
            break;
            case 400:
            printf("Bad Request\n");
            break;
            case 403:
            printf("Forbidden\n");
            break;
            case 404:
            printf("Not Found\n");
            break;
            case 500:
            printf("Internal Server Error\n");
            break;
            case 502:
            printf("Bad Gateway\n");
            break;
        }
    }
    return 0;
}

这道题不需要写default吗?是的,不需要。switch、case语句里面如果有明确题目说的和情况不匹配的时候,我们写default,这里匹配,就不用写了。

三、数字三角形

BC75 数字三角形

1、多组输入; 2、分析清楚每行打印的内容就行了。

代码语言:javascript
复制
#include<stdio.h>

int main()
{
    int n = 0;
    while(scanf("%d",&n) != EOF)
    {
        int i = 0;
        for(i = 1;i <= n;i++)
        {
            int j = 0;
            for(j = 1;j <= i;j++)
            {
                printf("%d ",j);
            }
            printf("\n");
        }
    }
    return 0;
}

四、 公务员面试

BC76 公务员面试

1、多组输入; 2、一边输入,一边求和,一边求最大值最小值; 3、再算平均值,这里我们要除5.0,因为创建的变量都是整型。

代码语言:javascript
复制
#include <stdio.h>

int main() 
{
    int i = 0;
    int sum = 0;
    int max = 0;
    int min = 100;
    int score = 0;
    for(i = 0;i < 7;i++)
    {
        scanf("%d ",&score);
        sum += score;
        if(score > max)
        max = score;
        if(score < min)
        min = score;
    }
    printf("%.2f\n",(sum-min-max)/5.0);
    return 0;
}

五、 有序序列插入一个数

BC77 有序序列插入一个数

1、注意多组输入; 2、从往前比较并一定数字找到合适的位置,就可以插入数字了,但是如果插入的数字比所有的元素都小,那就插入到第一个位置上。

代码语言:javascript
复制
#define  _CRT_SECURE_NO_WARNINGS  1

#include <stdio.h>

int main()
{
    int n = 0;
    int arr[51] = { 0 };
    int m = 0;
    //输入个数
    scanf("%d", &n);
    int i = 0;
    //输入有序的数字
    for (i = 0; i < n; i++)
    {
        scanf("%d", &arr[i]);
    }
    //输入要插入的数字
    scanf("%d", &m);
    //输入数据的实现
    for (i = n - 1; i >= 0; i--)
    {
        if (arr[i] > m)
        {
            arr[i + 1] = arr[i];
        }
        else
        {
            arr[i + 1] = m;
            break;
        }
    }
    //要输入的元素小于所有的元素
    if (i < 0)
    {
        arr[0] = m;
    }
    //输出
    for (i = 0; i < n + 1; i++)
    {
        printf("%d ", arr[i]);
    }
    return 0;
}

六、 筛选法求素数

BC78 筛选法求素数

(1)筛选法求素数

这道题要求我们用筛选法求素数,我们用代码实现一下——

代码语言:javascript
复制
#include <stdio.h>

int main() 
{
    int n = 0;
    while(~scanf("%d",&n))
    {
        //int arr[n + 1];//变长数组
        int arr[101] = {0};
        int i = 0;
        //存储数据
        for(i = 2;i <= n;i++)
        {
            arr[i] = i;
        }
        //列举所有的除数
        int j = 0;
        for(j = 2;j <=n;j++)
        {
            int k = 0;
            for(k = j + 1;k <= n;k++)
            {
                if(arr[k]%j == 0)
                {
                    arr[k] = 0;
                }
            }
        }
        //输出并记录
        int count = 0;
        for(i = 2;i <= n;i++)
        {
            if(arr[i] != 0)
                printf("%d ",arr[i]);
            else
             count++;
        }
        printf("\n%d\n",count);
    }
    return 0;
}

(2)if线——用试除法求解素数

当然,这里是题目要求我们用筛选法,不用筛选法可不可以求出来呢?当然可以,我们还可以用试除法试试求解素数——

代码语言:javascript
复制
#include <stdio.h>

int main() 
{
    int n = 0;
    while(~scanf("%d",&n))
    {
        //int arr[n + 1];//变长数组
        int i = 0;
        int count = 0;
        for(i = 2;i <= n;i++)
        {
            //判断i是否为素数
            //i->i-1之间的数字
            int j = 0;
            for(j = 2;j < i;j++)
            {
                if(i % j == 0)
                {
                    count++;
                    break;
                }
            }
            //break跳到这儿
            if(j == i)
                printf("%d ",j);
        }
        printf("\n%d\n",count);
    }
    return 0;
}

虽然不符合题目的要求,但也是一种思路,如果题目要求用试除法求,我们不就可以写了嘛。

七、 图像相似度

BC79 图像相似度

1、输入二维数组; 2、求两个二维素组的相同元素个数; 3、求百分比要注意*100.0,小时点后保留2位。

代码语言:javascript
复制
#define  _CRT_SECURE_NO_WARNINGS  1

#include <stdio.h>

int main()
{
    int m = 0;
    int n = 0;
    int count = 0;
    int arr1[100][100] = { 0 };
    int arr2[100][100] = { 0 };
    scanf("%d %d", &m, &n);
    int i = 0;
    int j = 0;
    for (i = 0; i < m; i++)
    {
        for (j = 0; j < n; j++)
        {
            scanf("%d", &arr1[i][j]);
        }
    }
    for (i = 0; i < m; i++)
    {
        for (j = 0; j < n; j++)
        {
            scanf("%d", &arr2[i][j]);
        }
    }
    for (i = 0; i < m; i++)
    {
        for (j = 0; j < n; j++)
        {
            if (arr1[i][j] == arr2[i][j])
                count++;
        }
    }
    //求相速度注意乘以100
    printf("%.2f\n", 100.0 * count / (m * n));
    return 0;
}

八、登录验证

BC80 登录验证

1、多组输入; 2、两个字符串比较大小不能使用==,得使用strcmp函数,比较的是两个字符串中对应字符的ASCII码值。

代码语言:javascript
复制
#include <stdio.h>
#include<string.h>

int main() 
{
    char name[20] = {0};
    char passage[40] = {0};
    while(scanf("%s %s",name,passage) != EOF)
    {
        if(strcmp(name,"admin") == 0 && strcmp(passage,"admin") == 0)
        {
            printf("Login Success!");
        }
        else 
        {
            printf("Login Fail!");
        }
    }
    return 0;
}

九、 包含数字9的数

BC85 包含数字9的数

1、要判断一个数字是否包含9就看一下这个数字的某一位是否为9即可,只要某一位为9就停下里来。

代码语言:javascript
复制
#include <stdio.h>

int main() 
{
    int num = 0;
    for(int i = 1;i < 2020;i++)
    {
        if(i % 10 == 9 || i / 10 % 10 == 9 || i / 100 %10 == 9)
            num++;
    }
    printf("%d",num);
    return 0;
}

十、奇偶统计

BC86 奇偶统计

1、代码1就是统计技术的个数,算出偶数的个数; 2、 代码2是根据数字的个数推算。

代码语言:javascript
复制
#define  _CRT_SECURE_NO_WARNINGS  1

#include <stdio.h>

int main()
{
    int n = 0;
    scanf("%d", &n);
    int odd = 0;//奇数
    int i = 0;
    for (i = 1; i <= n; i++)
    {
        if (i % 2 == 1)
            odd++;
    }
    printf("%d %d\n", odd, n - odd);
    return 0;
}

还有一个更加简洁的办法——

代码语言:javascript
复制
#include <stdio.h>

int main() 
{
    int n = 0;
    scanf("%d",&n);
    if(n % 2 == 1)
        printf("%d %d\n",n/2+1,n/2);
    else
        printf("%d %d\n",n/2,n/2);
    return 0;
}

结尾

往期回顾:

【C语言刷题】第七天:加量加餐继续,代码题训练,熟练IO模式

【C语言刷题】第六天:继续加量加餐,代码题训练,熟练IO模式

【C语言刷题】第五天:继续加量加餐,代码题训练,熟练IO模式

【C语言刷题】第四天:继续加量加餐,代码题入门,熟练IO模式

【C语言刷题】第三天:继续加量加餐,代码题入门,熟练IO模式

【C语言刷题】第二天:加量加餐,代码入门,熟悉IO模式

【C语言刷题】第一天:简单代码入门,熟悉IO模式

结语:本篇文章带大家刷了十道题目,大家认真思考一下,就能想出来。本文到这里就结束了,希望对友友们有所帮助。本文的代码相比起之前的题目,难度上已经有了加深,大家要上手操作,后面的代码题难度上整体是逐渐递增的,博主控制了难度,这样友友们能比较丝滑地上手敲下去。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-07-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 正文
    • 一、平均身高
    • 二、HTTP状态码
    • 三、数字三角形
    • 四、 公务员面试
    • 五、 有序序列插入一个数
    • 六、 筛选法求素数
    • 七、 图像相似度
    • 八、登录验证
    • 九、 包含数字9的数
    • 十、奇偶统计
  • 结尾
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档