刷题---C语言

news2024/11/27 1:44:03

目录

前言:

一.刷题(1)

1.1打印X图案

1.2打印带空格直角三角形图案

1.3小乐乐改数字

1.4牛牛的线段

2.刷题(2)

2.1判断奇偶性

2.2及格分数

2.3kiki算术

2.4(a+b-c)*d

2.5KiKi算期末成绩


前言:

博文结构开头是本文涉及的题目

牛客网链接;题目截图;【不太懂的会加百度词条】

解题思路;代码通过截图;代码实现;该题收获总结

以上就是本刷题专栏的结构---旨在尽快提升编程能力设置的例行格式

  今日份题目有小乐乐改数字、KiKi算期末成绩、(a+b-c)*d、牛牛的线段、kiki算数、及格分数、判断整数奇偶性、打印X图案、打印带空格直角三角形图案

  较有难度的是:打印X图案、打印带空格直角三角形图案、小乐乐改数字、牛牛的线段。博主先讲这些。


一.刷题(1)

1.1打印X图案

  牛客网链接:OJ链接

  解题思路我们输入的数字是行数,很明显这个X图案是由*和空格组合打印出来的,空格如果算上,这是一个n行n列的二维数组正反对角线打印*,其余打印空格

#include <stdio.h>
int main()
{
    int n = 0;
    //多组输入
    while(~scanf("%d", &n))
    {
        int i = 0;
        //打印n行
        for(i = 0; i < n; i++)
        {
            int j = 0;
            //打印第i行里的n列
            for(j = 0; j < n; j++)
            {
                //i和j相等是正对角线
                //i+j等于n-1是反对角线
                if(i == j || i + j == n - 1)
                {
                    printf("*");
                }
                else
                {
                    printf(" ");
                }
            }
            //打印完一列换行
            printf("\n");
        }
    }
    return 0;
}

  收获总结正对角线是行和列相等的情况,反对角线是行和列之和等于行数减1;  多组输入的另一中表示方法~scanf("%d", &n);

  补充当scanf读取失败时会返回EOF,EOF的值是-1,如果对-1按位取反(~),由于-1的补码为全1,全部取反就会变成全0,结果就为0(假)

1.2打印带空格直角三角形图案

  牛客网链接:OJ链接

  解题思路这道题要求我们输入确定打印的行数,观察一下,这个图形由空格和*组成的,先打印空格,再打印*,并且如果看成是5行5列的二维数组打印单元空格需要两个,打印单元*要加空格

#include <stdio.h>
int main()
{
    int n = 0;
    //多组输入
    while(scanf("%d", &n) != EOF)
    {
        int i = 0;
        //打印n行
        for(i = 0; i < n; i++)
        {
            int j = 0;
            //打印第i行里的n列
            //1.先打印空格单元
            for(j = 0; j < n - 1 - i; j++)
            {
                //两个空格
                printf("  ");
            }
            //2.打印*加空格
            for(j = 0; j <= i; j++)
            {
                printf("* ");
            }
            //打印完一列换行
            printf("\n");
        }
    }
    return 0;
}

  收获总结在打印这种一列(横向看)由两种单元组成的时候,控制循环是关键观察分析在打印第一行的时候,有4个单元,第二行有3个单元空格,一直到0在打印第一列的时候需要循环4次,用n的话是打印5次,用n-1的话一直是打印4次,再减去随行数增加的行数i,推断一下,i为0的时候,j<n-1-i,单元空格打印4次,i为1时,j<n-1-i,单元空格打印3次,符合就这么做在控制*空格的时候,打印一次,两次,直到n次,j<=i可以在i等于0的时候打印1次,i为1的时候打印两次,符合。也可以这样j<i+1

1.3小乐乐改数字

  牛客网链接:OJ链接

  解题思路:这道题的意思是说,输入一个整数,把这个整数里的每一位换成0或1,对应的规则是,如果该位是奇数,改成1,偶数改成0我们给出一个存放32个整型的数组,然后把这个整数的每一位取出来放在数组里,最后再把每一位根据它是第几位,乘上相应的权重后,全部加起来就是我们要求的更换后的数字,最后打印出来

#include <stdio.h>
#include <math.h>
int main()
{
    int n = 0;
    scanf("%d", &n);
    int arr[32] = {0};
    int i = 0;
    //从低取出n的每一位放到数组里
    while(n)
    {
        //偶数放0
        if(n % 2 == 0)
        {
            arr[i++] = 0;
        } 
        //奇数放1
        else
        {
            arr[i++] = 1;
        }
        //丢弃掉最低的一位
        n /= 10;    
    }
    //由于我们都是放完后,数组的下一位等待放
    //最后一次n已经被改成0,所以让i--变成数组的末下标
    for(i--;i>=0;i--)
    {
        //最后变成的数字是10进制
        n += arr[i] * pow(10, i);
    }
    printf("%d\n", n);
    return 0;
}

  收获总结循环取模,除法,对数组的每一位进行分离拆解;提高在循环中对下标的控制能力;拓宽思维

1.4牛牛的线段

  牛客网链接:OJ链接

  解题思路不要看错题目的输入,睁大眼睛看

#include <stdio.h>
#include <math.h>
int main()
{
    int x1, y1;
    int x2, y2;
    //题目说分两组输入
    scanf("%d %d", &x1, &y1);
    scanf("%d %d", &x2, &y2);
    //由于我们没有绝对值,所以要保证是大的数减小的数
    int n = x1>x2?x1-x2:x2-x1;
    int m = y1>y2?y1-y2:y2-y1;\
    //使用一个新的变量接收它们的和,不能直接放在printf里链式访问
    int end = pow(n, 2)+pow(m, 2);
    printf("%d\n", end); 
    return 0;
}

  收获总结第一就是要看清题目,博主第一次在尝试解的时候,对应的输入弄混了,拷到VS里调试一番才知道哪里出问题了;printf("%d\n", pow(n, 2)+pow(m, 2));这个代码它跑不过去,初步判断是因为这是两个函数,它不是像我们想的那样,求出它们的和之后再以整型的方式打印出来,它这样写是错误的最后就是锻炼代码能力

  OK,较难一点的讲完后,把简单的顺便一提吧~都是刷题的见证

2.刷题(2)

2.1判断奇偶性

  牛客网链接:OJ链接

  解题思路能被2整除表示成 x % 2 == 0

#include <stdio.h>
int main() {
    int n = 0;
    while(~scanf("%d", &n))
    {
        if(n % 2 == 0)
        {
            printf("Even\n");
        }
        else 
        {
            printf("Odd\n");
        }
    }
    return 0;
}

  收获总结熟练判断奇数偶数的代码敲法;锻炼代码能力

2.2及格分数

  牛客网链接:OJ链接

#include <stdio.h>
int main() {
    int n = 0;
    while(scanf("%d", &n) != EOF)
    {
        if(n >= 60)
        {
            printf("Pass\n");
        }
        else 
        {
            printf("Fail\n");
        }
    }
    return 0;
}

  收获总结锻炼代码能力

2.3kiki算术

  牛客网链接:OJ链接

#include <stdio.h>
#include <math.h>
int main()
{
    long long a, b, sum;
    scanf("%lld %lld", &a, &b);
    sum = a + b;
    int i = 0;
    int n = 2;
    int k = 0;
    while(n--)
    {
        k += sum % 10 * pow(10, i);
        i++;
        sum /= 10;
    }
    printf("%d\n", k);
    return 0;
}

  收获总结对于一个有可能溢出的情况,我们需要使用long long类型;锻炼代码能力

2.4(a+b-c)*d

  牛客网链接:OJ链接

#include <stdio.h>
int main() {
    int a, b, c, d;
    scanf("%d %d %d %d", &a, &b, &c, &d);
    printf("%d\n", (a+b-c)*d);
    return 0;
}

  收获总结:锻炼代码能力

2.5KiKi算期末成绩

  牛客网链接:OJ链接

#include <stdio.h>
int main() {
    float a, b, c, d;
    scanf("%f %f %f %f", &a, &b, &c, &d);
    float sum = (a * 0.2)+(b * 0.1)+(c * 0.2)+(d * 0.5);
    printf("%.1f\n", sum);
    return 0;
}

  收获总结如果前面输入的地方显示的是一些整数,后面输出的结果又要求是浮点数,那么最开始的输入我们用浮点数来接收,而不是整数;锻炼代码能力

  OK今日份刷题总结到这里,休息一会吧,再接着刷。


  训言:

  保证理解的前提下,保证质量的前提下,多刷题,最后总结!!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/573470.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

亿级大表拆分过程记录

两年前接手公司的财务系统的开发和维护工作。在系统移交的初期&#xff0c;笔者和团队就发现&#xff0c;系统内有一张5000W的大表。 跟踪代码发现&#xff0c;该表是用于存储资金流水的表格&#xff0c;关联着众多功能点&#xff0c;同时也有众多的下游系统在使用这张表的数据…

Doris-----Aggregate 聚合模型及案例实现

Aggregate 模型 是相同key的数据进行自动聚合的表模型。表中的列按照是否设置了 AggregationType&#xff0c;分为 Key&#xff08;维度列&#xff09;和 Value&#xff08;指标列&#xff09;&#xff0c;没有设置 AggregationType 的称为 Key&#xff0c;设置了 Aggregation…

外包实在是太坑了,干了三年,感觉人都废了

先说一下自己的情况&#xff0c;专科生&#xff0c;19年通过校招进入杭州某个外包软件公司&#xff0c;干了接近3年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了3年的功…

【JMeter中的View Result Tree显示中文乱码】

JMeter中的View Result Tree显示中文乱码 检查JMeter的安装目录下的bin文件夹中的jmeter.properties配置文件 用记事本打开并搜索&#xff1a;sampleresult.default.encoding 找到该行 改成sampleresult.default.encodingutf-8 修改后重启JMeter ok, 解决乱码 附加 : 下载 J…

【Linux高级 I/O(7)】初识文件锁——fcntl()方法及其独占性、共享性实验(附全文代码)

fcntl()函数在前面系列内容中已经多次用到了&#xff0c;它是一个多功能文件描述符管理工具箱&#xff0c;通过配合不同的 cmd 操作命令来实现不同的功能。为了方便述说&#xff0c;这里再重申一次&#xff1a; #include <unistd.h> #include <fcntl.h>int fcntl(…

大模型对世界的改变,从一时一地,到无处不在、无时不有

作者 | 曾响铃 文 | 响铃说 大模型正在中国遍地开花&#xff0c;做过的没做过的都要过来参合一下。 汹涌浪潮中&#xff0c;不免有更多人开始关注那个最先发布的文心一言。 全球科技大厂中第一个发布GPT大模型产品的百度&#xff0c;在刚刚的中关村论坛上透露了一些文心一言…

nodejs连接mysql

npm i express #node后端框架npm i corsnpm i mysqlconst app require(express)(); const cors require(cors); const port 5000; const mysql require(mysql) //引入mysql 模块app.use(cors({}))const conn mysql.createConnection({user: root,password: qwertyuiop…

普通人想自学软件测试?我还是劝你算了吧。。。

本人7年测试经验&#xff0c;在学测试之前对电脑的认知也就只限于上个网&#xff0c;玩个办公软件。这里不能跑题&#xff0c;我为啥说&#xff1a;自学软件测试&#xff0c;一般人我还是劝你算了吧&#xff1f;因为我就是那个一般人&#xff01; 软件测试基础真的很简单&…

gtest单元测试

gtest单元测试 1. gtest是什么&#xff1f;简答&#xff1a;做测试用的2. gtest的优点3. 搭建测试框架4. gtest_范例演示 1. gtest是什么&#xff1f;简答&#xff1a;做测试用的 gtest是Google的一套用于编写C测试的框架&#xff0c;可以运行在很多平台上&#xff08;包括Lin…

【JavaSE】Java基础语法(十四):Static

文章目录 概述特点与应用注意事项为什么一个静态方法中只能访问用static修饰的成员? 概述 Java中的static是一个修饰符&#xff08;也可称关键字&#xff09;&#xff0c;可以用于修饰变量、方法和代码块。 特点与应用 static修饰的成员具有以下特点&#xff1a; 被类的所有对…

如何在Mac上抓取安卓设备的日志

要在 Mac 上抓取 Android 设备的日志&#xff0c;您可以使用 Android SDK 中的 adb 工具。以下是一个简单的步骤&#xff1a; 1.您需要在 Mac 上安装 Android SDK。您可以从 Android 开发者网站上下载最新版本的 Android SDK&#xff0c;并按照说明进行安装。 2.将您的 Andro…

重学 Symbol

重学 Symbol 之前在写基础类型的笔记时暂时性的先跳过了 symbol&#xff0c;现在也有了一些项目的使用经验后&#xff0c;觉得还是需要重新回滚并且学习一下&#xff0c;温故而知新。 首先依旧回顾一下 symbol 的特点&#xff1a; 是原始值 唯一 不可变 可以提供私有属性&…

javaWeb ssh沙发销售系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh沙发销售系统是一套完善的web设计系统&#xff08;系统采用ssh框架进行设计开发&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Mye…

【SUMO】SUMO运行自带的OSM入门教程

文章目录 一、运行CMD命令行二、进入OSM选择地图位置 首先给出官网教程&#xff1a; https://sumo.dlr.de/docs/Tutorials/OSMWebWizard.html 一、运行CMD命令行 代码&#xff1a; 先进入osmWebWizard.py文件地址 cd /d D:\SUMO\sumo-1.17.0\tools&#xff08;替换成自己的…

智慧PG(pgting),一款拖拽式智能页面搭建系统

目录 前言 一、介绍 二、设计理念 1&#xff0c;资源整合&#xff0c;开箱即用 2&#xff0c;降低系统颗粒度 3&#xff0c;组件共享 4&#xff0c;简化配置 三、系统功能 1&#xff0c;可视化大屏搭建&#xff1a; 四、技术架构 1&#xff0c;技术栈 2&#xff0c;整体架构 五…

LeetCode 1091. Shortest Path in Binary Matrix【BFS,A星】中等

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

C++ 代码整洁之道

NOTICE: 这篇文章的框架条目来自《C代码整洁之道&#xff1a;C17可持续软件开发模式实践》&#xff0c;作者: [德] 斯提芬罗特。书籍原名"Clean C: Sustainable Software Development Patterns and Best Practices with C 17"。 文章目录 编码基本原则保持简单和直接…

Unity | HDRP高清渲染管线学习笔记:示例场景解析

目录 一、HDRP入门 1.HDRP设置 1.1 HDRP配置文件中的全部设置项 1.1.1 Rendering下的Lit Shader Mode 1.1.2 Lighting 下的Volumetrics&#xff08;体积光&#xff09;和Screen Space Reflection&#xff08;屏幕空间反射&#xff09; 2.离线渲染VS实时渲染 3.Volume组件 …

文字gif闪图怎么做?高效的gif闪图制作方法

相信不少新媒体行业的小伙伴&#xff0c;一定都见过那种闪动文字效果的gif动图吧。效果非常的炫酷还很吸引人们的眼球&#xff0c;但是作为设计小白这种闪烁gif图要怎么制作呢&#xff1f;有没有那种小白也能轻松上手的工具呢&#xff1f; 一、什么样的工具能够在线生成gif动态…

《Spring Guides系列学习》guide35 - guide40

要想全面快速学习Spring的内容&#xff0c;最好的方法肯定是先去Spring官网去查阅文档&#xff0c;在Spring官网中找到了适合新手了解的官网Guides&#xff0c;一共68篇&#xff0c;打算全部过一遍&#xff0c;能尽量全面的了解Spring框架的每个特性和功能。 接着上篇看过的gu…