牛客网刷题 | BC78 KiKi说祝福语

devtools/2024/9/25 4:25:52/

目前主要分为三个专栏,后续还会添加:

        专栏如下:                 C语言刷题解析       C语言系列文章       我的成长经历

感谢阅读!

初来乍到,如有错误请指出,感谢!


描述

2020年来到了,KiKi要对他的n位好朋友说n遍”Happy new year!Good luck!”的祝福语。

输入描述:

输入只有一行,其中含有一个正整数 n(1≤n≤20),代表KiKi说祝福话的遍数。

输出描述:

输出 n行"Happy new year!Good luck!"。


 思路 : 

思考用while循环还是for循环

我是用的是for循环

比较方便

定义两个变量

一个是用户输入,一个是普通变量

当普通变量的值小于用户输入的值的时候

就进行打印操作

直到不小于的时候

包含头文件:首先,你需要包含用于输入输出的头文件 stdio.h

定义变量:定义一个整型变量来存储输入的数字 𝑛n。

读取输入:使用 scanf 函数从标准输入读取一个整数值。

循环输出:使用 for 循环来控制输出祝福语的次数。

输出祝福语:在循环体内,使用 printf 函数输出祝福语字符串,并在每次输出后使用换行符 \n

编译和运行:最后,编译你的C语言程序并运行它。


代码 1 :

for循环

# include <stdio.h>
int main (){int input = 0;int i = 0;scanf("%d",&input);if(input>=1 && input <=20) //含有一个正整数 n(1≤n≤20){for (i=0; i<input; i++) {printf("Happy new year!Good luck!\n");}}return 0;
}

 代码 2 :

while循环

#include <stdio.h>int main()
{int i = 0;scanf("%d", &i);while(i){printf("Happy new year!Good luck!\n");i--;}return 0;
}

代码 3 :

详细点的

#include<stdio.h>
int main()
{int n;//定义一个 接受数值nscanf("%d",&n);if(n>=1&&n<=20)//限制题目n的条件{int pr;for(pr=1;pr<=n;pr++)//循环执行n次{printf("Happy new year!Good luck!\n");//每循环一次打印}}printf("输入n不正确");//用户输入超过了限制条件return 0;
}

知识点:for循环

C语言中的 for 循环是一种基本的循环结构,用于重复执行一段代码直到满足特定条件。for 循环的一般语法格式如下:

for (初始化表达式; 条件表达式; 更新表达式)
{// 循环体:在条件为真时执行的代码块
}

下面是 for 循环各个部分的详细说明:

  1. 初始化表达式:这是循环开始前执行的表达式,通常用于设置循环控制变量的初始值。这个表达式只会执行一次。

  2. 条件表达式:这是一个在每次循环迭代开始前评估的布尔表达式。如果条件表达式的结果为真(即非零),则执行循环体内的代码。如果条件表达式的结果为假(即值为零),则循环结束。

  3. 更新表达式:在每次循环迭代的末尾执行的表达式,通常用于更新循环控制变量的值。每次循环迭代后,都会执行这个表达式。

  4. 循环体:这是实际要重复执行的代码块。如果条件表达式为真,循环体将被执行,然后控制流将返回到条件表达式进行下一次评估。

示例

假设我们要计算从 1 到 10 的整数之和,可以使用 for 循环如下:

#include <stdio.h>int main() 
{int sum = 0;for (int i = 1; i <= 10; i++) {sum += i; // 将 i 的值加到 sum 上}printf("The sum of integers from 1 to 10 is: %d\n", sum);return 0;
}

在这个例子中:

  • 初始化表达式 int i = 1; 设置了循环控制变量 i 的初始值为 1。
  • 条件表达式 i <= 10; 确保循环会在 i 大于 10 时结束。
  • 更新表达式 i++ 在每次循环迭代后将 i 的值增加 1。
  • 循环体 sum += i; 将当前的 i 值加到 sum 变量上。

注意事项

  • 初始化、条件检查和更新表达式都是可选的,但至少需要条件表达式。
  • 如果省略初始化表达式,循环控制变量必须在循环之前声明和初始化。
  • 如果省略更新表达式,循环控制变量的更新需要在循环体内手动进行。
  • 循环体内不应该包含修改循环控制变量值的语句,除非它们是循环退出的条件的一部分。

for 循环是C语言中实现迭代操作的一种有效方式,理解其工作原理对于编写有效的C程序至关重要。

  


http://www.ppmy.cn/devtools/35750.html

相关文章

详细分析Java中的@AllArgsConstructor注解

目录 前言1. 基本知识2. 实战 前言 事情起因是Spring的循环依赖 详情可见&#xff1a;出现The dependencies of some of the beans in the application context form a cycle 解决方法&#xff08;全&#xff09; 1. 基本知识 AllArgsConstructor 是 Lombok 提供的一个注解…

java反射

一、什么是反射&#xff1f; 反射(Reflection) 反射就是&#xff1a;加载类&#xff0c;并允许以编程的方式解剖类中的各种成分(成员变量、方法、构造器等)。反射是一种强大的特性&#xff0c;允许程序在运行时检查和修改类、方法、字段等的信息&#xff0c;以及动态创建对象…

Vue 插槽

Vue插槽是一种特殊的语法&#xff0c;用于在组件中定义可复用的模板部分。它允许开发者在组件的标记中声明一个或多个插槽&#xff0c;然后在使用该组件时&#xff0c;可以根据自己的需求将内容插入到这些插槽中。 Vue插槽分为默认插槽和具名插槽两种。 默认插槽 语法 组件…

Anaconda删除虚拟环境目录pkgs和envs|conda瘦身

这个文件夹里面是专门放不同环境中的包的&#xff0c;只是没有区分环境&#xff0c;都混在一起了&#xff0c; 一般在想要删除一个虚拟环境&#xff0c;除了在命令行中输入conda remove -n your_env_name(虚拟环境名称) --all 然后在envs中删除虚拟环境的文件夹&#xff0c; 还…

JAVA基础之DAO设计和JFrame Swing

目录 1.DAO 2.JFrame Swing介绍 4.Swing主要容器 5.使用JFrame创建一个窗体步骤 6.使用JDialog创建一个模式窗体 7.通过JPanel设置背景颜色 8.通过JOptionPane实现对话框操作 1.DAO模式 一种设计模式 按照该模式将Java程序分为5个包 每一个包都具有不同的作用。com.uti…

自动驾驶主流芯片及平台架构(二)特斯拉自动驾驶芯片平台介绍

早期 对外采购mobileye EyeQ3 芯片摄像头半集成方案&#xff0c;主要是为了满足快速量产需求&#xff0c;且受制于研发资金不足限制&#xff1b; 中期 采用高算力NVIDIA 芯片平台其他摄像头供应商的特斯拉内部集成方案&#xff0c;mobileye开发节奏无法紧跟特斯拉需求&#xff…

VTK —— 二、教程七 - 对点云进行操作(按下r键切换选取或观察模式)(附完整源码)

代码效果 本代码编译运行均在如下链接文章生成的库执行成功&#xff0c;若无VTK库则请先参考如下链接编译vtk源码&#xff1a; VTK —— 一、Windows10下编译VTK源码&#xff0c;并用Vs2017代码测试&#xff08;附编译流程、附编译好的库、vtk测试源码&#xff09; 教程描述 本…

rust调用SQLite实例

rusqlite库介绍 Rusqlite是一个用Rust编写的SQLite库&#xff0c;它提供了对SQLite数据库的操作功能。Rusqlite的设计目标是提供一个简洁易用的API&#xff0c;以便于Rust程序员能够方便地访问和操作SQLite数据库。 Rusqlite的主要特点包括&#xff1a; 遵循Rust的类型系统和…