24小时接单的黑客网站

黑客技术入门,黑客技术自学,苹果黑客技术,黑客网站,黑客工具

c语言程序100例(c语言程序100例简单)

本文目录一览:

《单片机C语言程序设计实训100例——基于8051+Proteus仿真》 第03篇源代码

单片机c语言编程100个实例目录1

函数的使用和熟悉

实例3:用单片机控制第一个灯亮

实例4:用单片机控制一个灯闪烁:认识单片机的工作频率

实例5:将 P1口状态分别送入P0、P2、P3口:认识I/O口的引脚功能

实例6:使用P3口流水点亮8位LED

实例7:通过对P3口地址的操作流水点亮8位LED

实例8:用不同数据类型控制灯闪烁时间

实例9:用P0口、P1 口分别显示加法和减法运算结果

实例10:用P0、P1口显示乘法运算结果

实例11:用P1、P0口显示除法运算结果

实例12:用自增运算控制P0口8位LED流水花样

实例13:用P0口显示逻辑"与"运算结果

实例14:用P0口显示条件运算结果

实例15:用P0口显示按位"异或"运算结果

实例16:用P0显示左移运算结果

实例17:"万能逻辑电路"实验

实例18:用右移运算流水点亮P1口8位LED

实例19:用if语句控制P0口8位LED的流水方向

实例20:用swtich语句的控制P0口8位LED的点亮状态

实例21:用for语句控制蜂鸣器鸣笛次数

实例22:用while语句控制LED

实例23:用do-while语句控制P0口8位LED流水点亮

实例24:用字符型数组控制P0口8位LED流水点亮

实例25: 用P0口显示字符串常量

实例26:用P0 口显示指针运算结果

实例27:用指针数组控制P0口8位LED流水点亮

实例28:用数组的指针控制P0 口8 位LED流水点亮

实例29:用P0 、P1口显示整型函数返回值

实例30:用有参函数控制P0口8位LED流水速度

实例31:用数组作函数参数控制流水花样

实例32:用指针作函数参数控制P0口8位LED流水点亮

实例33:用函数型指针控制P1口灯花样

实例34:用指针数组作为函数的参数显示多个字符串

单片机c语言编程100个实例目录2

实例35:字符函数ctype.h应用举例

实例36:内部函数intrins.h应用举例

实例37:标准函数stdlib.h应用举例

实例38:字符串函数string.h应用举例

实例39:宏定义应用举例2

实例40:宏定义应用举例2

实例41:宏定义应用举例3

* 中断、定时器中断、定时器 *中断、定时器*中断、定时器 /

实例42:用定时器T0查询方式P2口8位控制LED闪烁

实例43:用定时器T1查询方式控制单片机发出1KHz音频

实例44:将计数器T0计数的结果送P1口8位LED显示

实例45:用定时器T0的中断控制1位LED闪烁

实例46:用定时器T0的中断实现长时间定时

实例47:用定时器T1中断控制两个LED以不同周期闪烁

实例48:用计数器T1的中断控制蜂鸣器发出1KHz音频

实例49:用定时器T0的中断实现"渴望"主题曲的播放

实例50-1:输出50个矩形脉冲

实例50-2:计数器T0统计外部脉冲数

实例51-2:定时器T0的模式2测量正脉冲宽度

实例52:用定时器T0控制输出高低宽度不同的矩形波

实例53:用外中断0的中断方式进行数据采集

实例54-1:输出负脉宽为200微秒的方波

实例54-2:测量负脉冲宽度

实例55:方式0控制流水灯循环点亮

实例56-1:数据发送程序

实例56-2:数据接收程序

实例57-1:数据发送程序

实例57-2:数据接收程序

实例58:单片机向PC发送数据

实例59:单片机接收PC发出的数据

*数码管显示*数码管显示 数码管显示数码管显示*/

实例60:用LED数码显示数字5

实例61:用LED数码显示器循环显示数字0~9

实例62:用数码管慢速动态扫描显示数字"1234"

实例63:用LED数码显示器伪静态显示数字1234

实例64:用数码管显示动态检测结果

实例65:数码秒表设计

实例66:数码时钟设计

实例67:用LED数码管显示计数器T0的计数值

实例68:静态显示数字“59”

单片机c语言编程100个实例目录3

键盘控制*键盘控制* *键盘控制 *键盘控制 */

实例69:无软件消抖的独立式键盘输入实验

实例70:软件消抖的独立式键盘输入实验

实例71:CPU控制的独立式键盘扫描实验

实例72:定时器中断控制的独立式键盘扫描实验

实例73:独立式键盘控制的4级变速流水灯

实例74:独立式键盘的按键功能扩展:"以一当四"

实例75:独立式键盘调时的数码时钟实验

实例76:独立式键盘控制步进电机实验

实例77:矩阵式键盘按键值的数码管显示实验

//实例78:矩阵式键盘按键音

实例79:简易电子琴

实例80:矩阵式键盘实现的电子密码锁

液晶显示LCD*液晶显示LCD *液晶显示LCD * *液晶显示LCD*液晶显示LCD *液晶显示LCD */

实例81:用LCD显示字符'A'

实例82:用LCD循环右移显示"Welcome to China"

实例83:用LCD显示适时检测结果

实例84:液晶时钟设计

*一些芯片的使用*24c02 DS18B20 X5045 ADC0832 DAC0832 DS1302 红外遥控/

实例85:将数据"0x0f"写入AT24C02再读出送P1口显示

实例86:将按键次数写入AT24C02,再读出并用1602LCD显示

实例87:对I2C总线上挂接多个AT24C02的读写操作

实例88:基于AT24C02的多机通信 读取程序

实例89:基于AT24C02的多机通信 写入程序

实例90:DS18B20温度检测及其液晶显示

实例91:将数据"0xaa"写入X5045再读出送P1口显示

实例92:将流水灯控制码写入X5045并读出送P1口显示

实例93:对SPI总线上挂接多个X5045的读写操作

实例94:基于ADC0832的数字电压表

实例95:用DAC0832产生锯齿波电压

实例96:用P1口显示红外遥控器的按键值

实例97:用红外遥控器控制继电器

实例98:基于DS1302的日历时钟

实例99:单片机数据发送程序

实例100:电机转速表设计

模拟霍尔脉冲

单片机c语言一百例子

急求《单片机C语言程序设计实训100例——基于8051+Proteus仿真》第三部分综合设计C语言源代码

这本书一共5章节,你说第三部分指的哪里?

第五章才是综合设计部分啊,而且这部分有好多例程,也不知道你要哪部分?

第1章 8051单片机C语言程序设计概述 1

1.1 8051单片机引脚 1

1.2 数据与程序内存 5

1.3 特殊功能寄存器 6

1.4 外部中断、定时器/计数器及串口应用 8

1.5 有符号与无符号数应用、数位分解、位操作 9

1.6 变量、存储类型与存储模式 11

1.7 关于C语言运算符的优先级 13

1.8 字符编码 15

1.9 数组、字符串与指针 16

1.10 流程控制 18

1.11 可重入函数和中断函数 19

1.12 C语言在单片机系统开发中的优势 20

第2章 Proteus操作基础 21

2.1 Proteus操作界面简介 21

2.2 仿真电路原理图设计 22

2.3 元件选择 25

2.4 调试仿真 29

2.5 Proteus与Vision 3的联合调试 29

2.6 Proteus在8051单片机应用系统开发的优势 30

第3章 基础程序设计 32

3.1 闪烁的LED 32

3.2 双向来回的流水灯 34

3.3 花样流水灯 36

3.4 LED模拟交通灯 38

3.5 分立式数码管循环显示0~9 40

3.6 集成式数码管动态扫描显示 41

3.7 按键调节数码管闪烁增减显示 44

3.8 数码管显示4×4键盘矩阵按键 46

3.9 普通开关与拨码开关应用 49

3.10 继电器及双向可控硅控制照明设备 51

3.11 INT0中断计数 53

3.12 INT0及INT1中断计数 55

3.13 TIMER0控制单只LED闪烁 58

3.14 TIMER0控制数码管动态管显示 62

3.15 TIMER0控制8×8LED点阵屏显示数字 65

3.16 TIMER0控制门铃声音输出 68

3.17 定时器控制交通指示灯 70

3.18 TIMER1控制音阶演奏 72

3.19 TIMER0、TIMER1及TIMER2实现外部信号计数与显示 75

3.20 TIMER0、TIMER1及INT0控制报警器与旋转灯 77

3.21 按键控制定时器选播多段音乐 79

3.22 键控看门狗 82

3.23 双机串口双向通信 84

3.24 PC与单片机双向通信 90

3.25 单片机内置EEPROM读/写测试 95

第4章 硬件应用 99

4.1 74HC138译码器与反向缓冲器控制数码管显示 100

4.2 串入并出芯片74HC595控制数码管显示四位数字 103

4.3 用74HC164驱动多只数码管显示 106

4.4 并串转换器74HC165应用 110

4.5 用74HC148扩展中断 112

4.6 串口发送数据到2片8×8点阵屏滚动显示 115

4.7 数码管BCD解码驱动器CD4511与DM7447应用 117

4.8 62256RAM扩展内存 119

4.9 用8255实现接口扩展 121

4.10 可编程接口芯片8155应用 124

4.11 串行共阴显示驱动器控制4+2+2集成式数码管显示 129

4.12 14段与16段数码管演示 133

4.13 16键解码芯片74C922应用 136

4.14 1602字符液晶工作于8位模式直接驱动显示 139

4.15 1602液晶显示DS1302实时时钟 148

4.16 1602液晶屏工作于8位模式由74LS373控制显示 153

4.17 1602液晶屏工作于4位模式实时显示当前时间 155

4.18 1602液晶屏显示DS12887实时时钟 159

4.19 时钟日历芯片PCF8583应用 167

4.20 2×20串行字符液晶屏显示 174

4.21 LGM12864液晶屏显示程序 177

4.22 TG126410液晶屏串行模式显示 184

4.23 Nokia7110液晶屏菜单控制程序 192

4.24 T6963C液晶屏图文演示 199

4.25 ADC0832 A/D转换与LCD显示 211

4.26 用DAC0832生成锯齿波 215

4.27 ADC0808 PWM实验 217

4.28 ADC0809 A/D转换与显示 220

4.29 用DAC0808实现数字调压 221

4.30 16位A/D转换芯片LTC1864应用 223

4.31 I2C接口存储器AT24C04读/写与显示 225

4.32 I2C存储器设计的中文硬件字库应用 233

4.33 I2C接口4通道A/D与单通道D/A转换器PCF8591应用 237

4.34 I2C接口DS1621温度传感器测试 241

4.35 用兼容I2C接口的MAX6953驱动4片5×7点阵显示器 246

4.36 用I2C接口控制MAX6955驱动16段数码管显示 250

4.37 I2C接口数字电位器AD5242应用 254

4.38 SPI接口存储器AT25F1024读/写与显示 257

4.39 SPI接口温度传感器TC72应用测试 264

4.40 温度传感器LM35全量程应用测试 268

4.41 SHT75温湿度传感器测试 272

4.42 直流电机正、反转及PWM调速控制 278

4.43 正反转可控的步进电机 281

4.44 ULN2803驱动点阵屏仿电梯数字滚动显示 284

4.45 液晶显示MPX4250压力值 286

4.46 12864LCD显示24C08保存的开机画面 289

4.47 用M145026与M145027设计的无线收发系统 293

4.48 DS18B20温度传感器测试 296

4.49 1-Wire式可寻址开关DS2405应用测试 303

4.50 MMC存储卡测试 307

第5章 综合设计 316

5.1 带日历时钟及温度显示的电子万年历 316

5.2 用8051+1601LCD设计的整型计算器 321

5.3 电子秤仿真设计 328

5.4 1602液晶屏显示仿手机键盘按键字符 332

5.5 用24C04与1602液晶屏设计的简易加密电子锁 336

5.6 1-Wire总线器件ROM搜索与多点温度监测 341

5.7 高仿真数码管电子钟设计 356

5.8 用DS1302与12864LCD设计的可调式中文电子日历 360

5.9 用T6963C液晶屏设计的指针式电子钟 366

5.10 T6963C液晶屏中文显示温度与时间 370

5.11 T6963C液晶屏曲线显示ADC0832两路A/D转换结果 372

5.12 温度控制直流电机转速 374

5.13 用74LS595与74LS154设计的16×16点阵屏 377

5.14 用8255与74LS154设计的16×16点阵屏 379

5.15 红外遥控收发仿真 381

5.16 GP2D12红外测距传感器应用 388

5.17 三端可调正稳压器LM317应用测试 395

5.18 数码管显示的K型热电偶温度计 399

5.19 交流电压检测与数字显示仿真 403

5.20 用MCP3421与RTD-PT100设计的铂电阻温度计 407

5.21 可接收串口信息的带中英文硬字库的80×16 LED点阵屏 414

5.22 模拟射击训练游戏 422

5.23 GPS仿真 427

5.24 温室监控系统仿真 431

5.25 基于Modbus总线的数据采集与开关控制系统设计仿真 437

建议你到脚本之家网站去搜索一下看看有没有这本书的电子档。

单片机C语言程序设计实训100例里的第七题8只数码管滚动显示单个数字c语言设计

把主函数改成这样:

void main()

{

uchar i,j,k=0x80;

while(1)

{

for(i=8;i0;i--)

{

for(j=250;j0;j--)

{

P2=0xff;

P0=DSY_CODE[8-i];

P2=k;

DelayMS(3);

}

}

k=_crol_(k,1);

}

}

补充:

你要是想从左到右依次显示0到7,并且依次一个一个的显示过去,那你只需要改你一个数组里的内容就OK了。

uchar code DSY_CODE[]=

{

0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90

};

具体怎么改要看你电路是怎么接的,就是任意时刻只让一个发光管点亮,很明显,你上面的这个数组里的数据估计不能完成你所要的功能,我也没法知道你的电路,你要按你的电路去改这个数组的内容,就是任意一个数同时只让八个数码管其中一个点亮就OK了,至于细节,还是你自己慢慢试,印象深些。呵呵。

《单片机C语言程序设计实训100例——基于8051+Proteus仿真》 【综合设计部分】的源代码

单片机c语言编程100个实例目录1 函数的使用和熟悉例26:用P0 口显示指针运算结果 实例27:用指针数组控制P0口8位LED流水点亮 实例28:用数组的指针控制P0 口8 位LED流水点亮 实例29:用P0 、P1口显示整型函数返回值 实例30:用有参函数控制P0口8位LED流水速度 实例31:用数组作函数参数控制流水花样 实例32:用指针作函数参数控制P0口8位LED流水点亮 实例33:用函数型指针控制P1口灯花样 实例34:用指针数组作为函数的参数显示多个字符串 单片机c语言编程100个实例目录2 实例35:字符函数ctype.h应用举例 实例36:内部函数intrins.h应用举例 实例37:标准函数stdlib.h应用举例 实例38:字符串函数string.h应用举例 实例39:宏定义应用举例2 实例40:宏定义应用举例2 实例41:宏定义应用举例3 * 中断、定时器中断、定时器 *中断、定时器*中断、定时器 / 实例42:用定时器T0查询方式P2口8位控制LED闪烁 实例43:用定时器T1查询方式控制单片机发出1KHz音频 实例44:将计数器T0计数的结果送P1口8位LED显示 实例45:用定时器T0的中断控制1位LED闪烁 实例46:用定时器T0的中断实现长时间定时 实例47:用定时器T1中断控制两个LED以不同周期闪烁 实例48:用计数器T1的中断控制蜂鸣器发出1KHz音频 实例49:用定时器T0的中断实现"渴望"主题曲的播放 实例50-1:输出50个矩形脉冲 实例50-2:计数器T0统计外部脉冲数 实例51-2:定时器T0的模式2测量正脉冲宽度 实例52:用定时器T0控制输出高低宽度不同的矩形波 实例53:用外中断0的中断方式进行数据采集 实例54-1:输出负脉宽为200微秒的方波 实例54-2:测量负脉冲宽度 实例55:方式0控制流水灯循环点亮 实例56-1:数据发送程序 实例56-2:数据接收程序 实例57-1:数据发送程序 实例57-2:数据接收程序 实例58:单片机向PC发送数据 实例59:单片机接收PC发出的数据 *数码管显示*数码管显示 数码管显示数码管显示*/ 实例60:用LED数码显示数字5 实例61:用LED数码显示器循环显示数字0~9 实例62:用数码管慢速动态扫描显示数字"1234" 实例63:用LED数码显示器伪静态显示数字1234 实例64:用数码管显示动态检测结果 实例65:数码秒表设计 实例66:数码时钟设计 实例67:用LED数码管显示计数器T0的计数值 实例68:静态显示数字“59” 单片机c语言编程100个实例目录3 键盘控制*键盘控制* *键盘控制 *键盘控制 */ 实例69:无软件消抖的独立式键盘输入实验 实例70:软件消抖的独立式键盘输入实验 实例71:CPU控制的独立式键盘扫描实验 实例72:定时器中断控制的独立式键盘扫描实验 实例73:独立式键盘控制的4级变速流水灯 实例74:独立式键盘的按键功能扩展:"以一当四" 实例75:独立式键盘调时的数码时钟实验 实例76:独立式键盘控制步进电机实验 实例77:矩阵式键盘按键值的数码管显示实验 //实例78:矩阵式键盘按键音 实例79:简易电子琴 实例80:矩阵式键盘实现的电子密码锁 液晶显示LCD*液晶显示LCD *液晶显示LCD * *液晶显示LCD*液晶显示LCD *液晶显示LCD */ 实例81:用LCD显示字符'A' 实例82:用LCD循环右移显示"Welcome to China" 实例83:用LCD显示适时检测结果 实例84:液晶时钟设计 *一些芯片的使用*24c02 DS18B20 X5045 ADC0832 DAC0832 DS1302 红外遥控/ 实例85:将数据"0x0f"写入AT24C02再读出送P1口显示 实例86:将按键次数写入AT24C02,再读出并用1602LCD显示 实例87:对I2C总线上挂接多个AT24C02的读写操作 实例88:基于AT24C02的多机通信 读取程序 实例89:基于AT24C02的多机通信 写入程序 实例90:DS18B20温度检测及其液晶显示 实例91:将数据"0xaa"写入X5045再读出送P1口显示 实例92:将流水灯控制码写入X5045并读出送P1口显示 实例93:对SPI总线上挂接多个X5045的读写操作 实例94:基于ADC0832的数字电压表 实例95:用DAC0832产生锯齿波电压 实例96:用P1口显示红外遥控器的按键值 实例97:用红外遥控器控制继电器 实例98:基于DS1302的日历时钟 实例99:单片机数据发送程序 实例100:电机转速表设计 模拟霍尔脉冲 实例3:用单片机控制第一个灯亮 实例4:用单片机控制一个灯闪烁:认识单片机的工作频率 实例5:将 P1口状态分别送入P0、P2、P3口:认识I/O口的引脚功能 实例6:使用P3口流水点亮8位LED 实例7:通过对P3口地址的操作流水点亮8位LED 实例8:用不同数据类型控制灯闪烁时间 实例9:用P0口、P1 口分别显示加法和减法运算结果 实例10:用P0、P1口显示乘法运算结果 实例11:用P1、P0口显示除法运算结果 实例12:用自增运算控制P0口8位LED流水花样 实例13:用P0口显示逻辑"与"运算结果 实例14:用P0口显示条件运算结果 实例15:用P0口显示按位"异或"运算结果 实例16:用P0显示左移运算结果 实例17:"万能逻辑电路"实验 实例18:用右移运算流水点亮P1口8位LED 实例19:用if语句控制P0口8位LED的流水方向 实例20:用swtich语句的控制P0口8位LED的点亮状态 实例21:用for语句控制蜂鸣器鸣笛次数 实例22:用while语句控制LED 实例23:用do-while语句控制P0口8位LED流水点亮 实例24:用字符型数组控制P0口8位LED流水点亮 实例25: 用P0口显示字符串常量 实例26:用P0 口显示指针运算结果

从1加到100的c语言程序

#include stdio.h

void main()

{

int i,s=0;

for(i=1;i=100;i++)

s+=i;

printf("s=%d",s);

}

需c语言编程实例100例 发到 zhushi8886@163.com

题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去

掉不满足条件的排列。

【程序1】程序源代码:

main()

{

int i,j,k;

printf("\n");

for(i=1;i5;i++) /*以下为三重循环*/

for(j=1;j5;j++)

for (k=1;k5;k++)

{

if (i!=ki!=jj!=k) /*确保i、j、k三位互不相同*/

printf("%d,%d,%d\n",i,j,k);

}

}

程序2】

题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高

于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提

成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于

40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于

100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。

第1个程序代码不要复制到工具中编译,有可能网页上的空格也算数

下面的应该没问题了,我会尽力调试好的.

程序2代码:

#include "stdio.h"

void main()

{ long int i;

double bonus1,bonus2,bonus4,bonus6,bonus10,bonus;

scanf("%ld",i);

bonus1=100000*0.1;

bonus2=bonus1+100000*0.075;

bonus4=bonus2+200000*0.05;

bonus6=bonus4+200000*0.03;

bonus10=bonus6+400000*0.015;

if (i=100000)

bonus=i*0.1;

else if (i=200000)

bonus=bonus1+(i-100000)*0.075;

else if (i=400000)

bonus=bonus2+(i-200000)*0.05;

else if (i=600000)

bonus=bonus4+(i-400000)*0.03;

else if (i=1000000)

bonus=bonus6+(i-600000)*0.015;

else

bonus=bonus10+(i-1000000)*0.01;

printf("bonus=%d",bonus);

}

程序3:

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

#include "stdio.h"

#include "math.h"

void main()

{

long int x,y,i;

for (i=0;i=100000;i++)

{x=sqrt(i+100); /*x为加上100后开方的结果*/

y=sqrt(i+268); /*y为x加上168后开方的结果*/

if (x*x==i+100y*y==i+268)

printf ("%ld",i);

}

}

【程序4】

题目:输入某年某月某日,判断这一天是这一年的第几天?

1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊

情况,闰年且输入月份大于3时需考虑多加一天。

#include "stdio.h"

void main()

{

int day,mouth,year,sum,leap;

printf("\nplease input year,mouth,day\n");

scanf("%d,%d,%d",year,mouth,day);

switch (mouth) /*先计算某月以前月份的总天数*/

{

case 1:sum=0;break;

case 2:sum=31;break;

case 3:sum=59;break;

case 4:sum=90;break;

case 5:sum=120;break;

case 6:sum=151;break;

case 7:sum=181;break;

case 8:sum=212;break;

case 9:sum=243;break;

case 10:sum=273;break;

case 11:sum=304;break;

case 12:sum=334;break;

defaultrintf("data error");break;

}

sum=sum+day; /* 再加上某天的天数*/

if (year%400==0||(year%4==0year%100!=0))/*判断是不是闰年*/

leap=1;

else

leap=0;

if (leap==1mouth2)/*如果是闰年且月份大于2,总数天数应该加1*/

sum++;

printf ("It is the %dth day.",sum);

}

【程序5】

题目:输入三个整数x,y,z,请把这三个数由小到大输出。

1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果xy则将x与y的值进行交换,然后再用x与z进行比较,如果xz则将x与z的值进行交换,这样能使x最小。

#include "stdio.h"

void main()

{

int x,y,z,t;

printf("请输入3个整数:\n");

scanf("%d,%d,%d",x,y,z);

if (xy)

{t=x;x=y;y=x;}

if (xz)

{t=x;x=z;z=t;}

if (yz)

{t=y;y=z;z=t;}

printf("你输入3个数从小到大的顺序为:%d,%d,%d\n",x,y,z);

}

程序6】

题目:用*号输出字母C的图案。

1.程序分析:可先用'*'号在纸上写出字母C,再分行输出。

不要说简单哦,慢慢来,熟能生巧嘛~~~~~~~~

#include "stdio.h"

void main ()

{

printf ("Hello C---world!\n");

printf (" *****\n");

printf (" *\n");

printf (" *\n");

printf (" *****\n");

}

下面这一题我运行的时候处出现几个汉字外,并没有像题目说的那样Very Beautiful!.同志们看看你们的结果是什么.

程序7】

题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!

1.程序分析:字符共有256个。不同字符,图形不一样。

#include "stdio.h"

void main ()

{

char a=176,b=219;

printf("%c%c%c%c%c\n",b,a,a,a,b);

printf("%c%c%c%c%c\n",a,b,a,b,a);

printf("%c%c%c%c%c\n",a,a,b,a,a);

printf("%c%c%c%c%c\n",a,b,a,b,a);

printf("%c%c%c%c%c\n",b,a,a,a,b);

}

【程序8】

题目:输出9*9口诀。

1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

#include "stdio.h"

void main ()

{

int i,j,result;

printf ("\n");

for (i=1;i10;i++)

{for(j=1;j10;j++)

{

result=i*j;

printf("%d*%d=%-3d",i,j,result); /*-3d表示左对齐,占3位*/

} printf("\n");/*每一行后换行*/

}

}

程序9】

题目:要求输出国际象棋棋盘。

1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。

#include "stdio.h"

void main ()

{

int i,j;

for (i=0;i8;i++)

{

for (j=0;j8;j++)

if((i+j)%2==0)

printf ("%c%c",219,219);

else

printf (" ");

printf("\n");

}

}

【程序10】

题目:打印楼梯,同时在楼梯上方打印两个笑脸。

1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。

include "stdio.h"

void main()

{

int i,j;

printf("\1 \1\n"); /*输出两个笑脸*/

for(i=1;i11;i++)

{

for (j=1;j=i;j++)

printf("%c%c",219,219);

printf("\n");

}

}

经典c程序100例==11--20

【程序11】

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月

后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....

呵呵~~多谢支持,以后多来阿~~~~~~~~~~~~

好的现在让我们来讨论第11题吧~

这个题目是求Fibonacci数列40个数.其实我们分析一下这个数有如下特点:第1,2个数为1,1.从第3个数开始,该数是其前面俩个数之和.即:

F1=1 (n=1)

F2=1 (n=2)

Fn=Fn-1+Fn-2 (n=3)

分析到这我们做题目就不会有多大的难度了 :

11题程序为:

main()

{

long int f1,f2;

int i;

f1=1;f2=1;

for (i=1;i=20;i++)

{printf("%12ld%12ld",f1,f2);

if(i%2==0)printf("\n");

f1=f1+f2;

f2=f1+f2;}

}

【程序12】

题目:判断101-200之间有多少个素数,并输出所有素数。

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,

则表明此数不是素数,反之是素数。

#include "stdio.h"

#include "math.h"

void main ()

{

int m,i,k,h=0,leap=1;

printf("\n");

for (m=101;m=200;m++)

{k=sqrt(m+1);

for(i=2;i=k;i++)

if(m%i==0)

{leap=0;break;}

if(leap)

{printf("%-4d",m);

h++;

if(h%10==0)

printf("\n");

}leap=1;

}

printf("\nThe total is %d",h);

}

【程序13】

题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数

本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

include "stdio.h"

void main ()

{

int i,j,k,n;

printf("'water flower 'number is :");

for(n=100;n1000;n++)

{

i=n/100;

j=n/10-i*10;

k=n%10;

if(n==i*i*i+j*j*j+k*k*k)

printf("%4d",n);

}

printf("\n");

}

【程序14】

题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果nk,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,

重复执行第一步。

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

#include "stdio.h"

void main()

{int n,i;

printf("\nplease input a number :\n");

scanf("%d",n);

printf("%d=",n);

for(i=2;i=n;i++)

{

while(n!=i)

{

if(n%i==0)

{printf("%d*",i);

n=n/i;

}

else

break;

}

}

printf("%d",n);

}

【程序15】

题目:利用条件运算符的嵌套来完成此题:学习成绩=90分的同学用A表示,60-89分之间的用B表示,

60分以下的用C表示。

1.程序分析:(ab)?a:b这是条件运算符的基本例子。

#include "stdio.h"

void main()

{int chji;

char biaosi;

printf("Please input a chji:\n");

scanf("%d",chji);

biaosi=chji=90?'A'chji=60?'B':'C');

printf("%d belongs to %c\n",chji,biaosi);

}

【程序16】

题目:输入两个正整数m和n,求其最大公约数和最小公倍数

第16题

#include

#include

#include

#include "math.h"

main()

{

int a,b,c=1,i,temp;

printf("输入2个正整数:");

scanf("%d%d",a,b);

if(ab)

{

temp=a;

a=b;

b=temp;

}

for(i=2;i=a;i++)

{

if(a%i==0b%i==0)

c=i;

}

if(c==1)

printf("没有公约数\n");

else

printf("最大公约数为:%d\n",c);

printf("最小公倍数为:%d\n",a*b/c);

【程序17】

题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

1.程序分析:利用while语句,条件为输入的字符不为'\n'.

有什么好的建议可以提啊,

#include "stdio.h"

void main()

{char c;

int letters=0,space=0,digit=0,others=0;

printf("please input some characters\n");

while ((c=getchar())!='\n')

{

if(c='a'c='z'||c='A'c'Z')

letters++;

else if(c==' ')

space++;

else if (c='0'c'9')

digit++;

else

others++;

}

printf("all in all:char=%d space=%d digit=%d others=%d\n",letters,space,digit,others);

}

【程序18】

题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时

共有5个数相加),几个数相加有键盘控制。

1.程序分析:关键是计算出每一项的值。

18题

#include

void main()

{

int a,n,conut=1;

long int sn=0,tn=0;

printf("please input a and n\n");

scanf("%d,%d",a,n);

printf("a=%d,n=%d\n",a,n);

while (conut=n)

{

tn=tn+a;

sn=sn+tn;

a=a*10;

++conut;

}

printf("%ld\n",sn);

}

【程序19】

题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程

找出1000以内的所有完数。

19

#include "stdio.h"

void main()

{

int i,j,n;

for(i=1;i=1000;i++)

{

n=0;

for(j=1;jI;J++)

if(i%j==0)

n+=j;

if(n==i)

{

for(j=1;jI;J++)

{

if(i%j==0)

printf("%d+",j);

}

printf("\b=%d\n",i);

}

}

}

【程序20】

题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在

第10次落地时,共经过多少米?第10次反弹多高?

#include "stdio.h"

void main()

{

float sn=100.0,hn=sn/2;

int n;

for(n=2;n=10;n++)

{

sn=sn+2*hn;

hn=hn/2;

}

printf("the total of road is %f\n",sn);

printf("the high is %f meter\n",hn);

}

程序21】

题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个

第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下

的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

1.程序分析:采取逆向思维的方法,从后往前推断。

记得上次说到21题:

#include

void main ()

{

int day,i,j;

day=9;

j=1;

while (day0)

{

i=(j+1)*2;

j=i;

day--;

}

printf("the total is %d\n",i);

}

【程序22】

题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定

比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出

三队赛手的名单。

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,

则表明此数不是素数,反之是素数。

#include

void main ()

{

char i,j,k;/*i是a的对手,j是b的,k是c的*/

for (i='x';i='z';i++)

for (j='x';j='z';j++)

{if (i!=j)

for (k='x';k='z';k++)

{if (i!=kj!=k)

{if (i!='x'k!='x'k!='z')

printf("order is a--%c\tb--%c\tc--%c\n",i,j,k);

}

}

}

}

【程序23】

题目:打印出如下图案(菱形)

*

***

******

********

******

***

*

1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重

for循环,第一层控制行,第二层控制列。

这个题用数组:

#include

void main ()

{

char lingxing[][7]={{' ',' ',' ','*'},{' ',' ','*','*','*'},{' ','*','*','*','*','*'},

{'*','*','*','*','*','*','*'},{' ','*','*','*','*','*'},{' ',' ','*','*','*'},{' ',' ',' ','*'}};

int i,j;

for (i=0;i7;i++)

{ for (j=0;j7;j++)

printf("%c",lingxing[i][j]);

printf("\n");

}

}

还可以这样:#include

void main ()

{

int i,j,k;

for (i=0;i=3;i++)

{

for (j=0;j=2-i;j++)

printf(" ");

for (k=0;k=2*i;k++)

printf("*");

printf("\n");

}

for (i=0;i=2;i++)

{

for (j=0;j=i;j++)

printf(" ");

for (k=0;k=4-2*i;k++)

printf("*");

printf("\n");

}

}

用函数调用也可以,自己试试.

【程序24】

题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

1.程序分析:请抓住分子与分母的变化规律。

#include

void main ()

{int n,t,number=20;

float a=2,b=1,s=0;

for (n=1;n=number;n++)

{

s+=a/b;

t=a;a+=b;b=t;//这一步是关键

}

printf("sum is %9.6f\n",s);

}

【程序25】

题目:求1+2!+3!+...+20!的和

1.程序分析:此程序只是把累加变成了累乘。

#include

void main ()

{

float n,s=0,t=1;

for (n=1;n=20;n++)

{

t*=n;

s+=t;

}

printf("1+2!...+20!=%e\n",s);

}

还要注意溢出,大家说一下怎样判断.

还有下面的这个题

程序26】

题目:利用递归方法求5!。

1.程序分析:递归公式:fn=fn_1*4!

#include

void main ()

{

int i;

printf("请输入求递归的数:\n");

scanf("%d",i);

int fact (int );

printf("%d!=%d\n",i,fact(i));

}

int fact(int j)

{

int sum;

if (j==0)

sum=1;

else

sum=j*fact(j-1);

return sum;

}

考虑一下怎样判断溢出呢?

【程序27】

题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。

#include

char a[5];

void f(int n)

{

if (n5)

{

f(n+1);//注意这里是重点。好好理解哦!

printf("%c",a[n]);

}

}

void main ()

{

printf("Input the string(lenth is 5):");

scanf("%s",a);

printf("After is :");

f(0);

}

【程序28】

题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第

3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后

问第一个人,他说是10岁。请问第五个人多大?

28 题~

#include

age (int n)

{

int c;

if (n==1)

c=10;

else

c=age(n-1)+2;

return (c);

}

void main ()

{

printf("%d",age(5));

}

程序29】

题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

#include

main( )

{

long a,b,c,d,e,x;

scanf("%ld",x);

a=x/10000;/*分解出万位*/

b=x%10000/1000;/*分解出千位*/

c=x%1000/100;/*分解出百位*/

d=x%100/10;/*分解出十位*/

e=x%10;/*分解出个位*/

if (a!=0) printf("there are 5, %ld %ld %ld %ld %ld\n",e,d,c,b,a);

else if (b!=0) printf("there are 4, %ld %ld %ld %ld\n",e,d,c,b);

else if (c!=0) printf(" there are 3,%ld %ld %ld\n",e,d,c);

else if (d!=0) printf("there are 2, %ld %ld\n",e,d);

else if (e!=0) printf(" there are 1,%ld\n",e);

}

【程序30】

题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

#include

main( )

{

long a,b,c,d,e,x;

scanf("%ld",x);

a=x/10000;/*分解出万位*/

b=x%10000/1000;/*分解出千位*/

c=x%1000/100;/*分解出百位*/

d=x%100/10;/*分解出十位*/

e=x%10;/*分解出个位*/

if (a!=0) printf("there are 5, %ld %ld %ld %ld %ld\n",e,d,c,b,a);

else if (b!=0) printf("there are 4, %ld %ld %ld %ld\n",e,d,c,b);

else if (c!=0) printf(" there are 3,%ld %ld %ld\n",e,d,c);

else if (d!=0) printf("there are 2, %ld %ld\n",e,d);

else if (e!=0) printf(" there are 1,%ld\n",e);

}

【程序30】

题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

#include

main( )

{

long ge,shi,qian,wan,x;

scanf("%ld",x);

wan=x/10000;

qian=x%10000/1000;

shi=x%100/10;

ge=x%10;

if (ge==wanshi==qian)/*个位等于万位并且十位等于千位*/

printf("this number is a huiwen\n");

else

printf("this number is not a huiwen\n");

}

程序31】

题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续

判断第二个字母。

#include

#include "conio.h" //getch 的头文件。

void main ()

{

char letter;

printf("Please input the first letter of someday\n");

while ((letter=getch())!='Y')

{switch (letter)

{

case 'S'rintf("please input second letter\n");

if ((letter=getch())='a')

printf("saturday\n");

else

if((letter=getch())='u')

printf("sunday\n");

else printf("data error\n");

break;

case 'F'rintf("friday\n");

break;

case 'M'rintf("monday\n");

break;

case 'T'rintf("please input second letter\n");

if((letter=getch())='h')

printf("thursday\n");

else

if ((letter=getch())='u')

printf("tuesday\n");

else printf("data error\n");

break;

case 'W'rintf("wednesday\n");

break;

defaultrintf("data error\n");

}

}

}

【程序32】

题目:Press any key to change color, do you want to try it. Please hurry up!

这个题目在TC中可以运行,在VC中运行不行,谁知道可以告诉我.谢谢!

2.程序源代码:

#include

void main(void)

{

int color;

for (color = 0; color 8; color++)

{

textbackground(color);/*设置文本的背景颜色*/

cprintf("This is color %d\r\n", color);

cprintf("Press any key to continue\r\n");

getch();/*输入字符看不见*/

}

}

33题目:求100之内的素数

#include

#include "math.h"

void main ()

{

int m,i,k,h=0,leap=1;

printf("\n");

for (m=1;m=100;m++)

{

k=sqrt(m+1);

for(i=2;i=k;i++)

if (m%i==0)

{leap=0;break;}

if(leap)

{printf("%-4d",m);

h++;

if(h%10==0)

printf("\n");

}

leap=1;

}

printf("the total is %d",h);

}

  • 评论列表:
  •  公子好风骨1
     发布于 2023-01-12 06:57:49  回复该评论
  • 门狗 823.23 双机串口双向通信 843.24 PC与单片机双向通信 903.25 单片机内置EEPROM读/写测试 95第4章 硬件应用 994.1 74HC138译码器与反向缓冲器控制数码管显示 1004.2 串入并出芯片74HC595控制数码管
  •  蓝殇妏与
     发布于 2023-01-11 22:22:09  回复该评论
  • 0%提成,高于10万元的部分,可可提 成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于 40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5
  •  柔侣溇涏
     发布于 2023-01-11 22:25:05  回复该评论
  • 4.29 用DAC0808实现数字调压 2214.30 16位A/D转换芯片LTC1864应用 2234.31 I2C接口存储器AT24C04读/写与显示 2254.32 I2C存储器设计的中文硬件字库应用 2334.33 I2C接口4通道A/D与单通道D/A转换器
  •  丑味邮友
     发布于 2023-01-11 21:31:04  回复该评论
  • ("%ld",x);wan=x/10000;qian=x%10000/1000;shi=x%100/10;ge=x%10;if (ge==wanshi==qian)/*个位等于万位并且十位等于千位*/ printf("this number is

发表评论:

Powered By

Copyright Your WebSite.Some Rights Reserved.