古早c语言练习

C语言插入排序实战:PTA编程题解析与3种实现方法对比 本文针对PTA平台上的C语言编程题“简化的插入排序”,深入解析了三种核心实现方法:遍历输出法、分段输出法和数组操作法。通过对比不同方法的逻辑、优缺点及适用场景,旨在帮助编程新手和大学生深入理解插入排序算法的底层思想,掌握高效解题技巧,为后续算法学习打下坚实基础。 阅读详情
  1. 题目:输入三个整数x,y,z,请把这三个数由小到大输出
#include<stdio.h>
main()
{
 int x,y,z,t;
 scanf("%d,%d,%d",&x,&y,&z);
 if(x>y){
  t=x;
  x=y;
  y=t;
 }
 if(x>z){
  t=x;
  x=z;
  z=t;
 }
 if(y>z){
  t=y;
  y=z;
  z=t;
 }
 printf("%d %d %d\n",x,y,z);
}

2.输出200以内的素数

格式:a, b, c, …d, e

#include<stdio.h>
main()
{
 int i,k,p,m=0;
 for(i=2;i<=100;i++){
  p=1; //用p来判断当前数是否是质数 ,p=1是质数,p=0不是质数
  for(k=2;k<i;k++){
   if(i%k==0){
    p=0;
    break;
   }
  }
  if(p==1){
   if(m!=0){
    printf(","); 
   }
   printf("%d",i); 
   m++; 
  }
 }
 } 

3.打印出所有的“水仙花数”

“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方

#include <stdio.h>
#define fun(x) x*x*x
main()
{
 int i,num1,num2,num3,sum;
 num1 = 0;
 num2 = 0;
 num3 = 0;
 sum = 0;
 for(i=100;i<=999;i++)
 {
  num1 = i/100;
  num2 = i%100/10;
  num3 = i%100%10;
  sum = fun(num1)+fun(num2)+fun(num3);
  
  if(sum == i)
  {
   printf("%d,",i);
  }
 }
 
} 
  1. 本题目要求计算下列分段函数f(x)的值:

当x = 0时,y = 0;

当x不等于0时, y = 1;

输入实数x

输出实数y

#include<stdio.h>
main()
{
 int x,y;
 scanf("%d",&x);
 if(x==0)
 {
  y=0;
 }
 else
 {
  y=1;
 }
 printf("%d",y);
} 

5

输出样例:

1

22

333

4444

55555

#include <stdio.h>
void pyramid( int n );
int main()
{
    int n;
    scanf("%d", &n);
    pyramid(n);
    return 0;
}
void pyramid( int n ){
    int i,j,k;
   for(i=1;i<=n;i++){
        for( j=1;j<=n-i;j++){
         printf(" ");
        }
        for(k=1;k<=i;k++){
            printf("%d",i);
            printf(" ");
        }
        printf("\n");
   }
}

  1. 爬楼梯

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。

每次你可以爬 1 或 2 级台阶。你有多少种不同的方法可以爬到楼顶呢?

注意:给定 n 是一个正整数。

示例 2:

输入: 2

输出: 2

示例 2:

输入: 3

输出: 3

#define _CRT_SECURE_NO_WARNINGS 
#include <stdio.h>
#include <stdlib.h>
int climbStairs(int n) {
 int num1 = 1;
 int num2 = 2;
 int tep = 0;
 if (n <= 2)
 {
  return n;
 }
 else
 {
  for (int i = 2; i < n; i++)//从第三项开始, 第i项等于第i-1项加第i-2项
  {
   tep = num1 + num2;
   num1 = num2;
   num2 = tep;
  }
  return tep;
 }
}
int main()
{
 int n = 0;
 printf("请输入一个正整数:");
 scanf("%d", &n);
 int a = climbStairs(n);
 printf("%d\n", a);
 return 0;
}

7.写出尽量多对数组排序的方法

/冒泡 选择 数组 指针/

二进制安全入门:从C语言内存模型到缓冲区溢出实战 内存安全是网络安全的基础议题,而C语言因手动管理内存的机制,成为缓冲区溢出等漏洞的高发领域。理解程序运行时栈帧的布局、函数调用与返回地址的存储方式,是掌握漏洞利用原理的关键前提。缓冲区溢出源于对数组边界的失控写入,攻击者可通过精确覆盖返回地址,将程序控制流劫持至任意代码——这正是CTF竞赛Pwn方向的核心考察点,也是ret2text等经典利用手法的理论基础。本文结合调试工具与代码示例,从内存模型到漏洞成因,再到保护机制绕过的完整路径,帮助初学者建立从崩溃到控制的系统性认知,为二进制安全方向的学习打下可操作的 阅读详情

相关推荐

Windows C语言编程:Beep API实现蜂鸣器原理与实战

如果你在 Windows 上写过 C 语言程序,想给程序加个简单的提示音,第一个想到的可能是 printf("\a") 。这个转义字符确实能在某些终端里发出“嘀”的一声,但它太原始、太不可控了,而且很多时候根本没声音。那么,有没有一种更“Windows”、更可控、更专业的方法来让你的程序“说话”呢? 答案是肯定的,而且它比你想象的要强大和复杂。Windows 提供了一个名为 Beep 的 API 函数,专门用于生成蜂鸣声。你可能觉得这功能太简单,甚至有点过时——不就是让电脑“哔”一声吗?但恰恰是这个看似简单

weixin_34109408的博客 395

【编译器】Dev C++建立C语言工程

在使用了很多编译器之后,要么是太大了,要么是太新了,要么是在线编译器,用着用着收费了,要么和芯片开发耦合,最终看中了这个古早编译器,哪个电脑想装就随便装下,用来学习C语言非常方便操作简单,便于学习C语言提示:以下是本篇文章正文内容,下面案例可供参考本文仅仅简单介绍了【编译器】Dev C++建立C语言工程,评论区欢迎讨论。

qq_42681425的博客 3139

LVGL v8.3 图片显示与解码缓存实战:PNG 上屏、C 数组与文件双方案

LVGL v8.3 图片两种存储方式、PNG/JPG 上屏解码器挂载、LV_IMG_CACHE_DEF_SIZE 缓存调优、手动预解码头像有效性判断,及"缓存被动画清空"真实踩坑。

汪同学的博客 442

复古C语言游戏代码修复与解析——以101.计算逆矩阵为例

本文分享了修复一个古早C语言矩阵求逆程序的过程。作者选取了101号逆矩阵计算项目,在Windows11环境下使用Dev-C++、VSCode和gcc6.3.0进行调试。主要解决了clrscr()和getch()函数兼容性、main()返回类型、scanf输入验证等问题,添加了必要的函数声明和内存分配检查。通过反复调试最终实现了零错误警告。文章还介绍了使用VSCode管理C语言项目的方法,包括环境配置和Git版本控制,以及在Gitee上创建仓库的步骤。整个过程中,作者掌握了处理老旧代码兼容性问题、VSCode

qq_45554154的博客 636

C语言超级玛丽源码解析:编译、调试与二次开发指南

游戏开发中,经典2D平台游戏的实现离不开游戏循环、碰撞检测等核心机制。以C语言实现的超级玛丽源码为例,初学者常遇到编译环境配置、图形库依赖、地图数据理解等障碍。本文围绕SDL2与MinGW环境,解析从main函数到状态机的工程结构,说明AABB碰撞检测、滚屏摄像机等基础技术,并给出参数调整与关卡改造的实操建议。无论是C语言课程设计还是游戏编程入门,这份源码都是理解底层逻辑的优质素材,掌握其编译与调试方法,即可将开源代码转化为可运行的游戏项目,进一步提升编程实践能力。

weixin_30691649的博客 236

Sublime Text4代码配色自定义方案

关于Sublime Text对于我的使用体验,只能说内置的代码主题真的都太low了,一点都不好看。所以接下来我分享一下我自定义代码配色。当然,大家也可以通过我给的中文翻译注释来自定义自己喜欢的颜色。废话不多说,直接上代码直接将代码复制粘贴到:Preferences > Customize Color Scheme 即可。},"globals":"foreground": "var(white)", // 前景色。

追求细节,成就完美 6026

贪吃蛇小游戏简单制作-C语言

使用C语言和符号实现了简单有趣的贪吃蛇小游戏,欢迎大家一起制作呀

2301_79419488的博客 1630

Unity Tilemap瓦片动态缩放:保持网格尺寸不变的三种实现方案

本文详细探讨了在Unity中实现Tilemap瓦片动态缩放同时保持网格尺寸不变的三种核心方案。针对编辑器静态调整、整体风格化处理及运行时动态控制等不同场景,分别解析了直接修改瓦片属性、调整Tilemap Renderer材质参数以及使用SetTransformMatrix与Matrix4x4矩阵变换的实践方法、优缺点及选型指南,为2D游戏开发提供灵活高效的视觉与交互解决方案。

grass的博客 627

为什么C语言main函数是int而不是void,为什么要return 0

为什么void main不行,为什么return 只能是0?

m0_53240771的博客 3671

机器学习模型——非线性回归

升维是一种常用的处理非线性问题的方法,它通过将原始数据从低维空间映射到高维空间来增强模型的表达能力。我们可以看出,二维数据用一维直线很难去很好的拟合。升维里的degree设置的不易过大,否则容易造成维度灾难。升维后,拟合的线与原数据比较符合。将非线性问题转换为线性问题。

qq_60688380的博客 1421

CISP-PTE八套真题详解(侵删)_cisp-pte 考题与答案,万字长文轻松彻底入门Flutter

接下来就是代码审计了isset()函数用于检测变量是否已设置并且非 NULL代码中base64解码出来是一个base64的一句话木马根据代码,需要我们提交一个Hello参数,参数的值为多少都行,然后我们可以通过提交z0参数的base64值进行执行命令先用phpinfo();试一下:发现执行成功那么直接写个查看key文件的系统命令(记得最后要加分号)在源代码中找到key。

2401_83947398的博客 4674

学校里很少提及但很实用的C语言开发基础知识

在实际的C语言开发中,会遇到很多学校很少提及的概念或者技巧,本文从一个嵌入式开发者的角度,分享了一些实际开发中非常实用的基础知识

LKAYA的博客 1269

SigmaStudio进阶技巧:如何用ADAU1701实现60段EQ与防啸叫算法

本文深入探讨了如何在ADAU1701 DSP芯片上实现专业级音频处理系统。通过精密的资源规划与架构设计,详细讲解了构建高达60段参数均衡器(EQ)的有效方法,并集成了移频与自适应陷波双策略的智能防啸叫算法。内容涵盖从SigmaStudio工程优化、算法模块组合到系统联调实战的全流程,旨在帮助中高级开发者充分利用ADAU1701性能,打造稳定、高效的音频处理解决方案。

weixin_28256233的博客 385

PTA 编程题(C语言)-- 简化的插入排序

题目标题:简化的插入排序 题目作者:C课程组 浙江大学本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。

LCCprogrammer 7427

脑机接口(BCI)从原理到开发实战 01|意念控制真的来了?一文看懂脑机接口的技术革命

类型定义典型应用主动式用户主动产生特定思维模式来控制设备运动想象(想象左手/右手移动)反应式用户被动接受外部刺激,系统检测大脑反应P300拼写器、SSVEP(稳态视觉诱发电位)被动式系统监测用户自发脑状态,不要求主动控制疲劳监测、情绪识别、注意力评估本系列后续文章将重点围绕主动式(运动想象)和反应式(P300/SSVEP)展开实战。脑机接口,这个曾经只存在于科幻中的概念,正在政策、资本、技术的三重驱动下,加速从实验室走向产业落地。2026年,注定是脑机接口发展史上浓墨重彩的一年。

小明的博客 1431

如何使用AKShare作为OpenBB的数据源

`openbb_akshare`项目是 OpenBB 的数据源扩展。可以用于查询A股和港股数据

FinAnalyzer金融分析工具 3196

C语言萌新的第一篇博客

大家好,我是来自重庆的一名大二工科生,兴趣爱好是游戏、电影和看小说,非常高兴能在优快云上发表自己的第一篇博客文章,作为一个标准的大学生,大一的时候并没有非常清晰的目标和自我定位,有过一定的C语言基础,但却没有去真正认真系统的学习过。现在,希望在做自己感兴趣的事的同时能去好好掌握C语言这一门技术,好好考虑一下自己的未来。希望自己能够坚持下去,用这第一篇博客来规划自己。也希望我能在今后的学习过程中能够牢记这一篇的内容。最后,我想送以后的自己一句话:一直走下去吧,少年!

Game_Fly的博客 68

Pytorch入门实战(2)-使用BP神经网络实现MNIST手写数字识别

上一篇:Pytorch入门实战(1) - 实现线性回归 涉及知识点 Pytorch nn.Module的基本使用 Pytorch nn.Linear的基本用法 PytorchVision Transforms的基本使用 Pytorch中DataLoader的基本用法 Pytorch详解NLLLoss和CrossEntropyLoss 如何确定神经网络的层数和隐藏层神经元数量 本文内容 本文将会使用BP神经网络(就是最普通的神经网络)实现一个MNIST手写数据集的实现。话不多说,直接开始。 首先先导入需要的包

iioSnail的博客 6617

AI时代,计算机专业学生还有必要啃C语言吗?答案藏在底层逻辑里

AI时代,不少计算机专业学生疑惑是否有必要学C语言。实则C语言是计算机底层基石,AI框架、操作系统等核心底层均依赖C/C++。学C不仅是掌握语言,更是理解计算机底层逻辑,是避开同质化竞争、提升核心竞争力的关键,也是考研求职的刚需。踏实学好C语言,能为深耕计算机领域筑牢根基。

Jia ming 的日常学习笔记 971

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

DEV C++在调试F5时闪退咋办

直入主题看图!

2401_83490375的博客 394

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

编译上下文

如果是作用域嵌套的情况下,如果内层和外层的作用域声明了同名的标识符,那么在外层作用域中声明的标识符对于该内层作用域时不可见的。当标识符的作用域完全相同时,不允许出现相同的标识符名,而当标识符有不同作用域时允许标识符同名。能够被extern修饰的函数或对象是全局的,只要提前声明,则该对象和函数可在所有文件内可见。静态对象或函数只能在该文件的上下文中可见,不会与其他文件中的对象或函数冲突。在文件作用域中声明的对象或函数,并且由static修饰。的label)是仅有的函数作用域的标识符,使用时,会与。

王老汉的博客 570

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

C++:基于C的语法优化

讲解C++对C语言的部分优化,以入门C++。

博客网站 https://async-area.com 1474

(原創) c/c++独特的block scope (C/C++)

C/C++的Scope共有6种:global、class、namespace、local、block、statement (C++ Primer 4th P.75) 。其中比较特别的是block scope,只要在curly brace {} 之间,就自成一个scope。  1#include &lt;iostream&gt; 2 3using namespace std; 4 5int mai...

weixin_34253539的博客 1119

计算机类-数据结构课程推荐

1.【《数据结构(C 语言描述)》也许是全站最良心最通俗易懂最好看的数据结构课(最迟每周五更新~~)】 https://www.bilibili.com/video/BV1tNpbekEht/?2.【《郝斌老师数据结构自学视频》】 https://www.bilibili.com/video/BV1Cx411H7ZH/?老师用C语言授课,老师讲的很卖力气,还融入了考研数据结构知识,帮助学生拓展思维。老师所讲偏向理论,对数据结构知识理解和梳理很有帮助。老师是边授课边敲代码,且每一集时间不长,不至于听课疲劳。

懂软硬件的老中医 1076

OpenClaw:用C语言重写经典游戏引擎的编译与运行实战

当一款上世纪的老游戏因底层硬件绑定而无法在现代系统上流畅运行时,重新实现其引擎便成为保留体验的关键。系统编程中,理解编译依赖、资源文件与硬件差异是工程实践的基本功。通过SDL2和CMake搭建构建环境,解析私有数据格式,并解决指令集兼容与输入延迟问题,开发者可以还原原始物理判定与手感。这种思路不仅适用于复古游戏,也广泛用于模拟器、兼容层和跨平台移植。OpenClaw项目正是这样一个样本,它用C语言为经典海盗猫主题游戏构建了独立引擎,让旧数据在新系统上重获新生,也为技术爱好者提供了一条完整的系统编程练习路径。

weixin_33100393的博客 325

【BJFUOJ入门题C代码参考答案】真正“入门”友好系列

C2.01金字塔++ 虽然这是表姐夫入门里的第一题,但是就笔者个人而言难度上比后面那些基础的最大公约数之类的大很多,纯纯新手或其他专业的盆友们可以先越过前面几道题练手哦。 话不多说:上代码! #include<stdio.h> int main() { int n; int i, j, k, t; scanf("%d", &n); for (i = 1; i <= n ; i++) { for (j = 1; j <= n - i; j++) printf

Receiver_L的博客 2773
上一篇: 03vue模板语法
下一篇: 数字信号实习内容总结
SinceSpringOnU
博客等级 码龄7年 9粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值