实用指南:【代码的暴力美学】-- C语言基础编程题_1

news/2025/10/25 21:28:32/文章来源:https://www.cnblogs.com/wzzkaifa/p/19166001


个人主页:K 旺仔小馒头

学习方向:C/C++方向学习者

个人专栏:《C语言》《数据结构与算法》《C++知识分享》《C语言实战编程》

⭐️人生格言:‌“何时葡萄先熟透,你要静候再静候”



前言:

欢迎来到C语言实战编程的学习之旅!本文精心挑选了三个经典C语言编程题目,涵盖动态内存、日期处理、数学定理实现等场景,每个题目都配有完整代码与细致解析,助力初学者夯实语法基础、提升逻辑思维。


一.打印从1到最大的n位数 【难度:入门】

描述

输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。

1. 用返回一个整数列表来代替打印
2. n 为正整数,0 < n <= 5

解析:

这里首先要清楚n位数中最大的数字,实际上就是 10^n - 1 。

这个清楚后动态申请空间,将数值填入就可以了,需要注意的是数组下标从0开始,而数值从1开始。

知识点:

       pow函数:是一种用于执行幂运算的函数

#include 
int* printNumbers(int n, int* returnSize) {*returnSize = pow(10, n) - 1;//确定最大的数字int* arr = (int*)malloc(sizeof(int)*(*returnSize));//申请足够大小的空间for(int i = 0;i < *returnSize;i++){arr[i] = i+1;//下标从0开始,而数值从1开始}return arr;
}

二. 计算日期到天数转换【难度:简单】

描述

每一年中都有 12 个月份。其中,1,3,5,7,8,10,12 月每个月有 31 天;4,6,9,11 月每个月有 30 天;而对于 2 月,闰年时有 29 天,平年时有 28 天。
现在,对应输入的日期,计算这是这一年的第几天。

一个年份是闰年当且仅当它满足下列两种情况其中的一种:
  ∙ 这个年份是 4 的整数倍,但不是 100 的整数倍;
  ∙ 这个年份是 400 的整数倍。

输入描述:

在一行上输入三个整数 ,,(1900≦≦2200),分别代表年、月、日。保证输入的日期是合法的。

输出描述:

输出一个整数,代表输入的日期是这一年的第几天。

解析:

1. 数组定义:arr  数组下标从 1 开始,arr[1] 对应1月的天数,arr[2] 对应2月的天数,这样更方便根据月份直接索引。
2. 闰年判断与处理:通过条件  (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)  判断是否为闰年,若是闰年,就将  arr[2](2月)的值改为  29 。
3. 天数累加:使用循环累加从1月到 month - 1 月的天数,然后再加上当月的 day 天,得到输入日期是当年的第几天。
4. 输出结果:最后使用 printf 输出计算得到的天数。

#include 
int main() {int year,month,day;scanf("%d %d %d",&year,&month,&day);//数组下标从1开始对应月份,arr[0]无意义,arr[1]对应1月天数,以此类推int arr[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};int dayOfYear = 0;//判断是否为闰年,若是则将2月天数改为29if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)){arr[2] = 29;}//累加前month - 1个月的天数for(int i = 1;i < month;i++){dayOfYear += arr[i];}//加上当月的天数dayOfYear += day;printf("%d\n",dayOfYear);return 0;
}

三. 尼科彻斯定理【难度:简单】

描述

尼科彻斯定理,又称为斐波那契数列定理,指的是对于任意正整数 ,存在一个由连续奇数组成的数列,使得该数列的和等于  的立方。
例如:

∙ 对于 =1,数列 {1} 的和为  1^3 = 1;
∙ 对于 =2,数列 {3,5} 的和为 2^3 = 3+5;
∙ 对于 =3,数列 {7,9,11} 的和为 3^3 = 7+9+11;
∙ 对于 =4,数列 {13,15,17,19} 的和为 4^3 = 13+15+17+19。

现在,给定一个正整数 ,请输出这个数列中的元素从小到大相加的形式。

如果有多个这样的序列,请输出长度为  的那个。

输入描述:

输入一个整数 (1≦≦100) 。

输出描述:

在一行上输出一个字符串,用于描述这个数列中的元素从小到大相加的形式。元素与元素之间用加号连接。

解析:

核心逻辑分两步:

1. 复用规律,通过 start = n*(n-1)+1 确定起始奇数(连续奇数公差为2,第i个奇数为 odd = start + 2*i );

2. 简化输出,循环中仅在非首次(i>0)时先印“+”,再印当前奇数,避免格式错误,最后补换行。

知识点:

在等差数列的通项公式中, a_n  指的是等差数列的第  n  项(也称为第  n  项的数值)。

#include 
int main() {int n = 0;scanf("%d",&n);int start = n * (n - 1) + 1;for(int i = 0; i < n; i++){int odd = start + 2 * i;if(i > 0){printf("+");}printf("%d",odd);}printf("\n");return 0;
}

附加知识点:

2. sprintf 函数

与printf用法类似,sprintf是格式化字符串但是不用于打印而是放到一个str中

3. strcat 函数

strcat 是 C 语言标准库<string.h> 中的字符串拼接函数,用于将一个字符串追加到另一个字符串的末尾。


结语:

希望这三个C语言题目及解析能为你带来收获。从基础语法到实际应用,每一次代码实践都是成长的阶梯。若你在编程路上还有其他疑惑,不妨继续探索,编程的乐趣与进步正藏在每一次思考和调试中。

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

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

相关文章

路径规划算法学习Day2:广度优先搜索算法(BFS)

路径规划算法学习Day2:广度优先搜索算法(BFS)前言 如果我想要用一群人来走迷宫,人的总数确定,从一点出发,每到一个节点就分出去一个人,那么我就可以根据要探索的层的数量来判断实际所需要的人数,应该是呈现一个…

集合与列表有何不同的使用场景,如何选择?

在Python中,集合(set)和列表(list)是两种不同的数据结构,各自有独特的使用场景和特性。选择它们的关键在于是否需要唯一性、顺序性或高效的查找/修改操作。以下是详细对比和选择建议:1. 核心特性对比特性 列表(…

102302147傅乐宜作业1

1.用requests和BeautifulSoup库方法爬取大学排名信息 内容 核心代码:点击查看代码 import urllib.request from bs4 import BeautifulSoupurl = http://www.shanghairanking.cn/rankings/bcur/2020 response = urllib…

完整教程:ros_control 中 hardware_interface 教程

完整教程:ros_control 中 hardware_interface 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas"…

飞牛NAS的SSL证书过期,又开启了强制HTTPS,进不去界面修改SSL怎么办? - 详解

飞牛NAS的SSL证书过期,又开启了强制HTTPS,进不去界面修改SSL怎么办? - 详解2025-10-25 21:21 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow…

多表查询-练习

-- 多表查询-练习1 -- 1.查询员工的姓名、年龄、职位、部门信息。(隐式内连接) select e.name,e.age,e.job,d.* from emp e ,dept d where e.dept_id = d.id; -- 2.查询年龄小于30岁的员工姓名、年龄、职位、部门信息。…

多智能体大模型在农业中的应用研究与展望

研究意义 首次系统提出“多智能体 大语言模型”在农业中的完整技术框架,为“耕-种-管-收”全流程智能化、无人化提供理论+落地路线。 技术框架• 多智能体系统(MAS)=“角色分工 + 动态协作 + 分布式决策”。 • 大…

嵌入式基础作业--第七周--IIC协议采集温湿度与OLED显示

任务一. 解释什么是“软件I2C”和“硬件I2C” 根据野火教材第23章"IC--读写EEPROM"的内容,详细解释软件I2C和硬件I2C的概念和区别: I2C总线基础 I2C(Inter-Integrated Circuit)是一种两线式串行总线,包…

Nature子刊 | 基于生物学信息的神经网络

机器学习模型在多组学数据中的应用常常需要在预测准确性与生物学可解释性之间进行权衡。一种新兴的深度学习架构通过结构化地编码生物学知识,以提升预测能力和可解释性。然而,更广泛地采用这种架构仍面临着机遇与挑战…

2025年项目总延期?这30款项目进度管理软件一定有一款适合你!

项目总延期是困扰团队效率的常见难题,但选对工具能让交付率提升至85%以上。本文将为您精选30款高效的项目进度管理软件,覆盖从敏捷开发到传统瀑布模型的不同需求。无论是Codes的全流程管控、Jira的敏捷适配性,还是T…

Educational Codeforces Round 66 (Rated for Div. 2) A~F

A - From Hero to Zero 模拟。 能除 \(k\) 直接除 \(k\),否则减掉余数部分。点击查看代码 #include <bits/stdc++.h>using i64 = long long;void solve() {i64 n, k;std::cin >> n >> k;i64 ans = …

小程序原创--基于微信开发者工具实现的猜谜游戏程序 - 教程

小程序原创--基于微信开发者工具实现的猜谜游戏程序 - 教程2025-10-25 21:07 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !importan…

stm32使用SPI外设读取W25Q32芯片

void SPI_GPIO_Init(void) {//SPI2-NSS PB12:PIN25 --CS//SPI2-SCK PB13:PIN26//SPI2-MISO PB14:PIN27 W25Q32:DO//SPI2-MOSI PB15:PIN28 W25Q32:DIGPIO_InitTypeDef GPIO_InitStruct; SPI_InitTypeDef …

Avjinder Singh Kaler | 数量遗传学基础

研究对象与核心思想• 数量遗传学研究数量性状(如身高、产量等连续变异性状)的遗传规律。 • 特点:受多基因控制,且环境效应显著。单基因模型基础• 单基因模型是数量遗传理论的起点,假设一个基因位点有两个等位基…

鲁东大学提出可解释的自适应集成机器学习全基因组选择算法用于小麦产量性状关键SNPs筛选

研究背景 全基因组选择(genomic selection, GS)是现代分子育种中的一项重要技术,作为一种强大的机器学习GS方法,堆叠集成学习(stacking ensemble learning, SEL)有效地融合了不同模型(基学习器)的优势,以精确…

台球厅收银台押金原路退回系统押金预授权—东方仙盟 - 详解

台球厅收银台押金原路退回系统押金预授权—东方仙盟 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consol…

数论专题小记

我的数论以前一只因为对数字的恐惧而搁置,准备这几天补回来 /kk。 狄利克雷卷积&莫比乌斯反演我们定义 狄利克雷卷积 这种运算是把两个数轮函数 \(f,g\) 卷成另一个函数 \(t\),其中 \(t\) 满足: \(\ \ \ \ \ \ …

ReactUse 与ahook对比 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

机械臂和相机的9点标定原理

9点标定到底怎么工作的? 这个问题困惑了我很久,虽然想海康VisionMaster 和Halcon 这种软件都提供了很好用的工件,但是最好懂原理,这样才不仅能做项目,还能做好项目。 最近好好研究了一下,感觉是搞清楚了,就记录…

遗传改良中的核心技术:交配设计

分享一则报告,系统总结了植物育种中常用的交配设计(Mating Designs)方法。定义与目的定义:交配设计是指为产生后代而在植物群体间有计划的杂交方案。目的:理解性状或行为的遗传控制机制;为作物品种开发提供基础群…