当前位置: 首页 > news >正文

C语言刷题(4)——“C”

各位CSDN的uu们你们好呀,今天小雅兰的内容又到了我们的复习啦,那么还是刷题噢,话不多说,让我们进入C语言的世界吧


BC55 简单计算器 

BC56 线段图案

BC57 正方形图案

BC58 直角三角形图案

BC59 翻转直角三角形图案

BC60 带空格直角三角形图案

BC61 金字塔图案

BC62 翻转金字塔图案

BC63 菱形图案

BC64 K形图案

BC65 箭形图案

BC66 反斜线形图案

BC67 正斜线形图案

BC68 X形图案

BC69 空心正方形图案

BC70 空心三角形图案


题目仍然来源于牛客网

编程语言初学训练营_在线编程+题解_牛客题霸_牛客网


#include <stdio.h>
//精度尽量保持高
//这个题使用float精度不满足要求
int main()
{double n1 = 0.0;double n2 = 0.0;char op = 0;while (scanf("%lf%c%lf", &n1, &op, &n2) != EOF){switch (op){case '+':printf("%.4lf+%.4lf=%.4lf", n1, n2, n1 + n2);break;case '-':printf("%.4lf-%.4lf=%.4lf", n1, n2, n1 - n2);break;case '*':printf("%.4lf*%.4lf=%.4lf", n1, n2, n1 * n2);break;case '/':{if (n2 == 0.0){printf("Wrong!Division by zero!\n");}else{printf("%.4lf/%.4lf=%.4lf", n1, n2, n1 / n2);}break;}default:printf("Invalid operation!\n");break;}}return 0;
}

1. 多组输入

2. 按照格式接收,按照要求编写代码就行

3. switch语句

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

1. 多组输入

2. 每次打印一个*,按照输入的个数打印后换行就行

 

 

#include <stdio.h>int main() {int n = 0;while (scanf("%d", &n) != EOF){int i = 0;//确定行数for (i = 0; i < n; i++){int j = 0;//每一行的打印,打印n组*+空格for (j = 0; j < n; j++){printf("* ");}printf("\n");}}return 0;
}

1. 多组输入

2. 每组是由n组*+空格组成

#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("* ");}printf("\n");}}return 0;
}

1. 多组输入

2. 每一行的输出要计算清楚

 

 

#include <stdio.h>
int main()
{int n = 0;while (scanf("%d", &n) != EOF){int i = 0;for (i = n; i >= 1; i--){int j = 0;for (j = i; j >= 1; j--){//这里注意空格printf("* ");}printf("\n");}}return 0;
}

1. 多组输入

2. 每两个*中间有空格,要注意

3. 控制好一行输出的内容

#include <stdio.h>
int main()
{int n = 0;while (scanf("%d", &n) != EOF){int i = 0;//行数控制for (i = 0; i < n; i++){//空格int j = 0;for (j = 0; j < n - 1 - i; j++){printf("  ");}//*for (j = 0; j <= i; j++){printf("* ");}printf("\n");}}return 0;
}

 另一种写法:

 在红色三角范围内的每个坐标上,横纵坐标之和小于n-1。

#include <stdio.h>int main()
{int n = 0;while (scanf("%d", &n) != EOF){int i = 0;int j = 0;//行数for (i = 0; i < n; i++){//一行for (j = 0; j < n; j++){//行和列的和//这里可以把行数和列数标出来就能看明白if (i + j < n - 1){printf("  ");}else{printf("* ");}}printf("\n");}}return 0;
}

#include <stdio.h>int main()
{int n = 0;while (scanf("%d", &n) != EOF){int i = 0;for (i = 0; i < n; i++){//一行int j = 0;//空格for (j = 0; j < n - 1 - i; j++){printf(" ");}//*for (j = 0; j <= i; j++){printf("* ");}printf("\n");}}return 0;
}

1. 多组输入

2. 每一行的前边应该是空格,后边是*+空格,控制好个数就行

 

#include <stdio.h>int main()
{int n = 0;while (scanf("%d", &n) != EOF){int i = 0;for (i = 0; i < n; i++){//一行int j = 0;for (j = 0; j < i; j++){printf(" ");}for (j = 0; j < n - i; j++){printf("* ");}printf("\n");}}return 0;
}

1. 多组输入

2. 控制好行数,控制好每一行前面的空格数

 

#include <stdio.h>int main()
{int n = 0;while (scanf("%d", &n) != EOF){int i = 0;//上for (i = 0; i < n; i++){//一行int j = 0;for (j = 0; j < n - i; j++){printf(" ");}for (j = 0; j <= i; j++){printf("* ");}printf("\n");}//下for (i = 0; i <= n; i++){//一行int j = 0;for (j = 0; j < i; j++){printf(" ");}for (j = 0; j <= n - i; j++){printf("* ");}printf("\n");}}return 0;
}

1. 首先把菱形的打印分为上下2个部分

2. 上下分别控制好行数和空格的个数

3. 多组输入

#include <stdio.h>//这个题好坑int main()
{int n = 0;//如果输入的是n,其实每行打印n+1组字符(*和空格)while (scanf("%d", &n) != EOF){int i = 0;for (i = n; i >= 0; i--){int j = 0;for (j = 0; j <= i; j++){printf("* ");}//*的后面还有空格-这个比较坑for (j = i; j < n; j++){printf(" ");}printf("\n");}for (i = 1; i <= n; i++){int j = 0;for (j = 0; j <= i; j++){printf("* ");}//*的后边还有空格-这个比较坑for (j = i; j < n; j++){printf(" ");}printf("\n");}}return 0;
}

1. 多行输入

2. 图形的打印分为上下2个部分

3. 每一行的打印完,后边还有空格,可能牛客网的题目处理不严谨,在题目中也没体现,怎么都做不出来,不过选中输出样例,会发现后边有空格。

#include <stdio.h>int main()
{int n = 0;while(scanf("%d",&n) !=EOF){//上n行int i = 0;for (i = n; i > 0; i--){int j = 0;for (j = 0; j < i; j++){printf("  ");}for (j = 0; j <= n - i; j++){printf("*");}printf("\n");}//下n+1行for (i = n + 1; i > 0; i--){int j = 0;for (j = 0; j < n + 1 - i; j++){printf("  ");}for (j = 0; j < i; j++){printf("*");}printf("\n");}}return 0;
}

1. 多组输入

2. 图形分为上下2个部分打印

3. 每一行前面是空格,后边是*(前面2个空格为1组)

#include <stdio.h>
//方法1-传统求解方式
int main()
{int n = 0;while(scanf("%d",&n) !=EOF){int i = 0;for(i=0;i<n;i++){//空格int j = 0;for(j=0;j<i;j++){printf(" ");}//*printf("*");//注意*后边的空格for(j=i+1;j<n;j++){printf(" ");}printf("\n");}}return 0;
}

 另一种方法:

#include <stdio.h>
//找出规律
int main()
{int n = 0;while (scanf("%d", &n) != EOF){int i = 0;for (i = 0; i < n; i++){int j = 0;for (j = 0; j < n; j++){if (i == j)printf("*");elseprintf(" ");}printf("\n");}}return 0;
}

1. 多组输入

2. 控制好每行的打印,前面是空格,后边是*

3. *的后边还有空格,一行要打印够n和字符的

4. 方法2找出打印*的行号和列号的规律是 i==j

#include <stdio.h>
//代码1
int main()
{int n = 0;while(scanf("%d",&n) != EOF){int i = 0;//行for(i=0;i<n;i++){//空格int j = 0;for(j=0;j<n-1-i;j++){printf(" ");}//*printf("*");//空格for(j=n-i;j<n;j++){printf(" ");}printf("\n");}}return 0;
}

 另一种方法:

#include <stdio.h>
//代码2
int main()
{int n = 0;while (scanf("%d", &n) != EOF){int i = 0;for (i = 0; i < n; i++){int j = 0;for (j = 0; j < n; j++){if (i + j == n - 1)printf("*");elseprintf(" ");}printf("\n");}}return 0;
}

1. 多组输入

2. 控制好每行的打印,前面是空格,后边是*

3. *的后边还有空格,一行要打印够n和字符的

4. 方法2找出打印*的行号和列好的规律是i+j == n-1

 

#include <stdio.h>
int main()
{int n = 0;while (scanf("%d", &n) != EOF){int i = 0;int j = 0;for (i = 0; i < n; i++){for (j = 0; j < n; j++){if (i == j)printf("*");else if (i + j == n - 1)//因为行和列是从0开始的printf("*");elseprintf(" ");}printf("\n");}}return 0;
}

1. 多组输入

2. 找出打印*的打印空格的规律,直接按照规律实现就行

 

#include <stdio.h>int main()
{int n = 0;while (scanf("%d", &n) != EOF){int i = 0;int j = 0;for (i = 0; i < n; i++){for (j = 0; j < n; j++){if (i == 0 || i == n - 1)printf("* ");else if (j == 0 || j == n - 1)printf("* ");elseprintf("  ");}printf("\n");}}return 0;
}

1. 多行输入

2. 找出打印*的规律,剩余的打印空格,直接打印就行

#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 <= n; j++){if ((i == j) || (j == 1) || (i == n)){printf("* ");}else{printf("  ");}}printf("\n");}}return 0;
}

1. 多组输入。

2. 找出打印*的规律,然后直接按照要求打印就行。


好啦,小雅兰今天的复习内容就到这里啦,今天做的一般都是图案题,之后还要继续加油呀!!!

 

相关文章:

C语言刷题(4)——“C”

各位CSDN的uu们你们好呀&#xff0c;今天小雅兰的内容又到了我们的复习啦&#xff0c;那么还是刷题噢&#xff0c;话不多说&#xff0c;让我们进入C语言的世界吧 BC55 简单计算器 BC56 线段图案 BC57 正方形图案 BC58 直角三角形图案 BC59 翻转直角三角形图案 BC60 带空格…...

带你看懂RuoYi动态数据源切换

文章目录数据源是什么一、spring中是如何处理各种数据源的&#xff1f;1.开搞springboot2.创建一个测试类二、有了如上的理论,那么想想动态切换数据源吧参考若依的动态数据源配置总结数据源是什么 数据源,对于java来说,就是可用的数据库,那么我平时开发的springboot springclo…...

家有女儿必看:盲目的和青春期女儿较劲,不如掌握4个沟通技巧

导读&#xff1a;家有女儿必看&#xff1a;盲目的和青春期女儿较劲&#xff0c;不如掌握4个沟通技巧 各位点开这篇文章的朋友们&#xff0c;想必都是很高的颜值吧&#xff0c;我们真的是很有缘哦&#xff0c;小编每天都会给大家带来不一样的育儿资讯&#xff0c;如果对小编的文…...

【VC 7/8】vCenter Server 基于文件的备份和还原Ⅰ——基于文件的备份和还原的注意事项和限制

目录1.1 协议1.2 还原后配置说明1.3 Storage DRS1.4 分布式电源管理1.5 分布式虚拟交换机1.6 内容库1.7 虚拟机生命周期操作1.8 vSphere High Availability1.9 基于存储策略的管理1.10 其它注意事项虚拟存储区域网络修补关联博文[图片来源]&#xff1a;https://www.vmignite.co…...

【ROS学习笔记10】ROS中配置自定义Cpp头文件和导入自定义Python库

【ROS学习笔记10】ROS中配置自定义Cpp头文件和导入自定义Python库 文章目录【ROS学习笔记10】ROS中配置自定义Cpp头文件和导入自定义Python库一、ROS中的头文件和源文件1.1 自定义头文件调用1.2 自定义源文件调用二、Python模块的导入Reference写在前面&#xff0c;本系列笔记参…...

svn 分支(branch)和标签(tag)管理

版本控制的一大功能是可以隔离变化在某个开发线上&#xff0c;这个开发线就是分支&#xff08;branch&#xff09;。分支通常用于开发新功能&#xff0c;而不会影响主干的开发。也就是说分支上的代码的编译错误、bug不会对主干&#xff08;trunk&#xff09;产生影响。然后等分…...

@Transactional详解

一、事务的概念 百度百科&#xff1a; 事务&#xff08;Transaction&#xff09;&#xff0c;一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执 行单元(unit)。事务通常由高级数据库操纵语言或编程语言&#xff08;如SQL&#x…...

机器学习:Transformer

Transformer sequence-to-sequence(seq2seq) 很大语音没有文本&#xff0c;7000种中超半数没有文字。 遇到的问题&#xff1a; 遇到问题时候可以先不管它&#xff0c;先出一个baseline看看效果&#xff0c;后续再进行提升。 tts&#xff1a; 文本转语音&#xff0c;语音合成…...

pytorch-模型构建,参数访问,模型存取API接口,对比学习

多层感知机的简洁实现pytorch-多层感知机&#xff0c;最简单的深度学习模型&#xff0c;将非线性激活函数引入到模型中。_羞儿的博客-CSDN博客中含单隐藏层的多层感知机的实现方法。首先构造Sequential实例&#xff0c;然后依次添加两个全连接层。其中第一层的输出大小为256&am…...

javaEE 初阶 — 数据链路层中的以太网数据帧

文章目录以太网帧格式1. MAC 地址2. MAC 地址是如何与 IP 地址相互配合的3. 以太网帧格式中的类型MTU&#xff08;了解&#xff09;以太网帧格式 数据链路层主要考虑的是相邻的两个结点之间的传输。 这里最知名的协议就是 以太网。 一个以太网数据帧有三个部分组成。帧头载荷…...

泼辣修图Polarr5.11.4 版,让你的创意无限延伸

泼辣修图是一款非常实用的图片处理软件&#xff0c;它不仅拥有丰富的图片处理功能&#xff0c;而且还能够轻松地实现自定义操作。泼辣修图的操作界面非常简洁&#xff0c;功能也非常丰富&#xff0c;使用起来非常方便快捷。 泼辣修图拥有非常丰富的图片处理功能&#xff0c;包括…...

leetcode打卡-深度优先遍历和广度优先遍历

200.岛屿数量 leetcode题目链接&#xff1a;https://leetcode.cn/problems/number-of-islands leetcode AC记录&#xff1a; 思路&#xff1a;深度优先遍历&#xff0c;从0&#xff0c;0开始遍历数组&#xff0c;使用boolean类型数组used记录是否被访问过&#xff0c;进行一…...

【0177】Linux中POSIX信号量实现机制

文章目录 1. 信号量概念1.1 信号量类比1.2 重要的观察1.3 信号量分类2. POSIX与System V信号量3. 信号量API4. 代码演示5. 信号量内核实现1. 信号量概念 在计算机科学中,信号量(semaphores )是一种变量或抽象数据类型,用于控制多个进程对公共资源的访问,并避免并发系统(如…...

跳表--C++实现

目录 作者有话说 为何要学习跳表&#xff1f;为了快&#xff0c;为了更快&#xff0c;为了折磨自己..... 跳表作用场景 1.不少公司自己会设计哈希表&#xff0c;如果解决哈希冲突是不可避免的事情。通常情况下会使用链址&#xff0c;很好理解&#xff0c;当有冲突产生时&#…...

c#:System.Text.Json 的使用一

环境&#xff1a; .net 6.0vs2022 参考&#xff1a; 从 Newtonsoft.Json 迁移到 System.Text.Json System.Text.Json 常规用法 一、写入时的控制 1.1 非ascii码转换 直接看代码&#xff1a; var str System.Text.Json.JsonSerializer.Serialize(new Model { Id 1, Name …...

kaggle数据集下载当中所遇到的问题

kaggle数据集下载当中所遇到的问题报错分析pip install kagglethe SSL module is not available解决方法pip的版本升级解决办法下载kaggle包kaggle数据集下载问题解决参考内容报错分析 今天在尝试使用pip install kaggle的方法去下载我需要的数据集的时候遇到了一些报错的问题…...

TEX:高阶用法

文章目录定制LATEX记数器创建记数器改变记数器的值显示记数器的值长度橡皮长度用户定义命令用户定义的环境标题定制正文中标题设置使用titlesec宏包设置标题格式目录中标题设置LATEX 2ε\varepsilonε程序设计语言命令的层次文件识别上载其他类和宏包输入文件检测文件选项的处理…...

UML 类图

车的类图结构为<>&#xff0c;表示车是一个抽象类&#xff1b; 它有两个继承类&#xff1a;小汽车和自行车&#xff1b;它们之间的关系为实现关系&#xff0c;使用带空心箭头的虚线表示&#xff1b; 小汽车为与SUV之间也是继承关系&#xff0c;它们之间的关系为泛化关系…...

项目实战典型案例1——redis只管存不管删除 让失效时间删除的问题

redis只管存不管删除 让失效时间删除的问题一&#xff1a;背景介绍二&#xff1a;思路&方案三&#xff1a;代码模拟1.错误示范通过班级id查询课程名称执行结果通过班级id修改课程名称&#xff08;并没有删除对应缓存&#xff09;执行结果2.正确示范在错误示范的更新接口上添…...

@RequestParam和@PathVariable的用法与区别

PathVariable PathVariable 映射 URL 绑定的占位符带占位符的 URL 是 Spring3.0 新增的功能&#xff0c;该功能在SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义通过 PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中&#xff1a;URL 中的 {xxx} 占…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下&#xff0c;企业和个人创作者为了扩大影响力、提升传播效果&#xff0c;纷纷采用短视频矩阵运营策略&#xff0c;同时管理多个平台、多个账号的内容发布。然而&#xff0c;频繁的文案创作需求让运营者疲于应对&#xff0c;如何高效产出高质量文案成…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)

macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 &#x1f37a; 最新版brew安装慢到怀疑人生&#xff1f;别怕&#xff0c;教你轻松起飞&#xff01; 最近Homebrew更新至最新版&#xff0c;每次执行 brew 命令时都会自动从官方地址 https://formulae.…...

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分&#xff1a; 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...

[论文阅读]TrustRAG: Enhancing Robustness and Trustworthiness in RAG

TrustRAG: Enhancing Robustness and Trustworthiness in RAG [2501.00879] TrustRAG: Enhancing Robustness and Trustworthiness in Retrieval-Augmented Generation 代码&#xff1a;HuichiZhou/TrustRAG: Code for "TrustRAG: Enhancing Robustness and Trustworthin…...

保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!

目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...

加密通信 + 行为分析:运营商行业安全防御体系重构

在数字经济蓬勃发展的时代&#xff0c;运营商作为信息通信网络的核心枢纽&#xff0c;承载着海量用户数据与关键业务传输&#xff0c;其安全防御体系的可靠性直接关乎国家安全、社会稳定与企业发展。随着网络攻击手段的不断升级&#xff0c;传统安全防护体系逐渐暴露出局限性&a…...

【51单片机】4. 模块化编程与LCD1602Debug

1. 什么是模块化编程 传统编程会将所有函数放在main.c中&#xff0c;如果使用的模块多&#xff0c;一个文件内会有很多代码&#xff0c;不利于组织和管理 模块化编程则是将各个模块的代码放在不同的.c文件里&#xff0c;在.h文件里提供外部可调用函数声明&#xff0c;其他.c文…...