经典C语言程序100例(31-40)---------------------转自C语言经典论坛

【程序31】
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续
   判断第二个字母。
1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。
2.程序源代码:
#include <stdio.h>
void main()
{
char letter;
printf("please input the first letter of someday/n");
while ((letter=getch())!='Y')/*当所按字母为Y时才结束*/
{ switch (letter)
{case 'S':printf("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':printf("friday/n");break;
case 'M':printf("monday/n");break;
case 'T':printf("please input second letter/n");
     if((letter=getch())=='u')
      printf("tuesday/n");
     else if ((letter=getch())=='h')
         printf("thursday/n");
       else printf("data error/n");
     break;
case 'W':printf("wednesday/n");break;
default: printf("data error/n");
  }
 }
}
==============================================================
【程序32】
题目:Press any key to change color, do you want to try it. Please hurry up!
1.程序分析:            
2.程序源代码:
#include <conio.h>
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】
题目:学习gotoxy()与clrscr()函数   
1.程序分析:
2.程序源代码:
#include <conio.h>
void main(void)
{
clrscr();/*清屏函数*/
textbackground(2);
gotoxy(1, 5);/*定位函数*/
cprintf("Output at row 5 column 1/n");
textbackground(3);
gotoxy(20, 10);
cprintf("Output at row 10 column 20/n");
}
==============================================================
【程序34】
题目:练习函数调用
1. 程序分析:
2.程序源代码:
#include <stdio.h>
void hello_world(void)
{
printf("Hello, world!/n");
}
void three_hellos(void)
{
int counter;
for (counter = 1; counter <= 3; counter++)
hello_world();/*调用此函数*/
}
void main(void)
{
three_hellos();/*调用此函数*/
}
==============================================================
【程序35】
题目:文本颜色设置
1.程序分析:
2.程序源代码:
#include <conio.h>
void main(void)
{
int color;
for (color = 1; color < 16; color++)
 {
 textcolor(color);/*设置文本颜色*/
 cprintf("This is color %d/r/n", color);
 }
textcolor(128 + 15);
cprintf("This is blinking/r/n");
}
==============================================================
【程序36】
题目:求100之内的素数   
1.程序分析:
2.程序源代码:
#include <stdio.h>
#include "math.h"
#define N 101
main()
{
int i,j,line,a[N];
for(i=2;i<N;i++) a[i]=i;
for(i=2;i<sqrt(N);i++)
 for(j=i+1;j<N;j++)
 {
  if(a[i]!=0&&a[j]!=0)
  if(a[j]%a[i]==0)
  a[j]=0;}
printf("/n");
for(i=2,line=0;i<N;i++)
{
 if(a[i]!=0)
 {printf("%5d",a[i]);
 line++;}
 if(line==10)
 {printf("/n");
line=0;}
}
}
==============================================================
【程序37】
题目:对10个数进行排序
1.程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,
      下次类推,即用第二个元素与后8个进行比较,并进行交换。       
2.程序源代码:
#define N 10
main()
{int i,j,min,tem,a[N];
/*input data*/
printf("please input ten num:/n");
for(i=0;i<N;i++)
{
printf("a[%d]=",i);
scanf("%d",&a[i]);}
printf("/n");
for(i=0;i<N;i++)
printf("%5d",a[i]);
printf("/n");
/*sort ten num*/
for(i=0;i<N-1;i++)
{min=i;
for(j=i+1;j<N;j++)
if(a[min]>a[j]) min=j;
tem=a[i];
a[i]=a[min];
a[min]=tem;
}
/*output data*/
printf("After sorted /n");
for(i=0;i<N;i++)
printf("%5d",a[i]);
}
==============================================================
【程序38】
题目:求一个3*3矩阵对角线元素之和
1.程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。
2.程序源代码:
main()
{
float a[3][3],sum=0;
int i,j;
printf("please input rectangle element:/n");
for(i=0;i<3;i++)
 for(j=0;j<3;j++)
 scanf("%f",&a[i][j]);
for(i=0;i<3;i++)
 sum=sum+a[i][i];
printf("duijiaoxian he is %6.2f",sum);
}
==============================================================
【程序39】
题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后
     此元素之后的数,依次后移一个位置。
2.程序源代码:
main()
{
int a[11]={1,4,6,9,13,16,19,28,40,100};
int temp1,temp2,number,end,i,j;
printf("original array is:/n");
for(i=0;i<10;i++)
 printf("%5d",a[i]);
printf("/n");
printf("insert a new number:");
scanf("%d",&number);
end=a[9];
if(number>end)
 a[10]=number;
else
 {for(i=0;i<10;i++)
  { if(a[i]>number)
   {temp1=a[i];
    a[i]=number;
   for(j=i+1;j<11;j++)
   {temp2=a[j];
    a[j]=temp1;
    temp1=temp2;
   }
   break;
   }
  }
}
for(i=0;i<11;i++)
 printf("%6d",a[i]);
}
==============================================================
【程序40】
题目:将一个数组逆序输出。
1.程序分析:用第一个与最后一个交换。
2.程序源代码:
#define N 5
main()
{ int a[N]={9,6,5,4,1},i,temp;
 printf("/n original array:/n");
 for(i=0;i<N;i++)
 printf("%4d",a[i]);
 for(i=0;i<N/2;i++)
 {temp=a[i];
  a[i]=a[N-i-1];
  a[N-i-1]=temp;
 }
printf("/n sorted array:/n");
for(i=0;i<N;i++)
 printf("%4d",a[i]);
}

51单片机基础应用设计C语言源码仿真300个合集: 100000秒以内的计时程序 10秒的秒表 12864LCD图形滚动演示 128X64LED 160128LCD图文演示 1602字符液晶滚动演示程序 1602液晶显示的DS1302实时时钟 16×16点阵(滚动显示) 16×16点阵2(滚动显示) 2io5键盘模拟音量数码管显示 2×20串行字符液晶演示 32x16汉字 44行列键盘 485全双工通信 4×4键盘矩阵控制条形LED显示 4个独立式按键控制LED开关 4个独立式按键控制LED移位 4只数码管滚动显示0~3 555可调PWM发生器 555的应用 6264扩展内存 6个16×16点阵 74HC154译码器应用 74HC595 74HC595串入并出芯片应用 74LS138译码器应用 74LS148扩展中断 8051双机通信简 8255并行口扩展实 89C51PWM 8x8LED汉字显示 8x8点阵做的贪吃蛇游戏 8×8LED点阵屏显示数字 8只数码管同时显示不同字符 8只数码管显示多个不同字符 8只数码管滚动显示8~F 8只数码管滚动显示单个数字 8只数码管滚动显示数字串 8只数码管闪烁显示 8通道自动温度检测系统仿真(含原程序) ADC0808 PWM实验 ADC0809模数转换与显示 ADC0832模数转换与显示 AT89C51对直流电动机的驱动 AVR_Uart BCD译码数码管显示数字 c51 可预设电压的数控电源(功能强大) clock Conter CPU控制的独立式键盘扫描实验 da、ad。液晶,传递函数模型综合应用的实 DIY51式数控电源 DS1621温度传感器实验 ds18b20 DS18B20温度传感器实验 DS18B20温度检测及其液晶显示 HorseLight I2C IIC-24C04与数码管 IIC-24C04与蜂鸣器 INT0与INT1中断计数 INT0中断3位计数 INT0及INT1中断计数 INT0和INT1控制条形LED INT1中断5位计数 IO并行口直接驱动单个数码管 K1-K4 分组控制LED K1-K4 控制LED移位 K1-K4 控制数码管加减演示 K1-K4 控制数码管移位显示 K1-K4 键状态显示 key_lcd ks0108 液晶12864 LCD频率计仿真 LED代码查询V1[1].1 LED模拟交通灯 LED闪烁 M16_AN_Compare M16_EEPROM M16_Horse MAX7221控制数码管动态显示 my16key_c NT0中断控制LED NT0中断计数 NumberDisplay P3口流水灯 PCF8574 PCF8583+LCD1602 PCF8591模数与数模转换实验 proteus ADDC的练习程序 PWM PWMLED PWM控制LED的亮度仿真程序 PWM控制马达的方法 PWM波输出(可调) PWM电机正反转 pwm程序 PWM调温 RAM扩展练习 sscom32串口调试 TIMER0与TIMER1控制条形LED TIMER0控制LED二进制计数 TIMER0控制单只LED闪烁 TIMER0控制四只LED滚动闪烁 TIMER0控制流水灯 ULN2803 usart_t 《lcd1602仿真实》 一个数控直流稳压电源 一个步进电机的仿真 一步一步教你51_PC串口通信 万能逻辑电路实验 三机通讯 串口仿真mcu_pc 串口方式1 串行数据转换为并行数据 交通灯 从左到右的流水灯 光藕隔离驱动电机 内部函数intrins.h应用举 净水控制器仿真电路 刚做好的十个字的led屏模拟有程序 包含单片机寄存器的头文件 单只按键控制单只数码管滚动显示 单只数码管循环显示0-9 单只数码管循环显示0~F 单片机与PC机串口通讯仿真 单片机之间双向通信 单片机向PC发送数据 单片机向主机发送字符串 单片机接收PC发出的数据 单片机控制的电动自行车驱动系统 单片机数据发送程序 发一个用定时器做的PWM 基于1602+ds12b80+ds1302+音乐+电子书+流水灯的多功能电子表 基于ADC0832的数字电压表 基于AT24C02的多机通信 基于AT89C51+MAX7219的频率计 附带proteus仿真电路图 实际硬件电路测试通过 基于DS1302的日历时钟 基于yjwpm测试过的DS18B20仿真实 多功能电子钟 多点温度测量 多路开关状态指示 大屏幕仿真 子电路做的一个H型电机驱动电路 字符串函数string.h应用举 字符函数ctype.h应用举 宏定义应用举 定时器中断控制的独立式键盘扫描实验 定时器控制交通指示灯 定时器控制数码动态显示 定时器控制数码管动管显示 对I2C总线上挂接多个AT24C02
参与评论 您还未登录,请先 登录 后发表或查看评论
共分为8篇,包括基础篇、数值计算与数据结构篇、文本屏幕与文件操作篇、病毒与安全篇、图形篇、系统篇、游戏篇、综合篇,基本涵盖了目前C语言编程的各个方面。   全部以实为线索展开讲解,注重对实的分析、对方法的详细讲解以及对知识点的归纳总结。书中通过实来讲解知识点,同时又通过相应的知识点来分析实,二者相辅相成。   通过阅读本书,初学者不会再为编写程序时无从下手而苦恼,具有一定C语言基础的读者也不会再原地踏步,停滞不前。因此,本书不仅可以帮助初学者快速入门,也可帮助中级读者在C语言程序设计的殿堂中迈进。 第1部分 基础篇 实1 一个价值“三天”的BUG 2 实2 灵活使用递增(递减)操作符 5 实3 算术运算符计算器 7 实4 逻辑运算符计算器 9 实5 IP地址解析 11 实6 用if…else语句解决奖金发放问题 13 实7 用for循环模拟自由落体 16 实8 用while语句求n! 19 实9 模拟银行常用打印程序 22 实10 使用一维数组统计选票 26 实11 使用二维数组统计学生成绩 29 实12 简单的计算器 32 实13 时钟程序 35 实14 华氏温度和摄氏温度的相互转换 38 实15 SimpleDebug函数应用 40 第2部分 数值计算与数据结构篇 实16 常用的几种排序方法 46 实17 广度优先搜索及深度优先搜索 53 实18 实现基本的串操作 59 实19 计算各点到源点的最短距离 62 实20 储油问题 65 实21 中奖彩球问题 67 实22 0-1背包问题 69 实23 阶梯计数问题 72 实24 二叉树算法集 74 实25 模拟LRU页面置换算法 79 实26 大整数阶乘新思路 82 实27 银行事件驱动模拟程序 84 实28 模拟迷宫探路 87 实29 实现高随机度随机序列 89 实30 停车场管理系统 91 第3部分 文本屏幕与文件操作篇 实31 菜单实现 96 实32 窗口制作 97 实33 模拟屏幕保护程序 10034 文件读写基本操作 102 实35 格式化读写文件 105 实36 成块读写操作 107 实37 随机读写文件 108 实38 文件的加密和解密 111 实39 实现两个文件的连接 113 实40 实现两个文件信息的合并 116 实41 文件信息统计 118 实42 文件分割实 121 实43 同时显示两个文件的内容 123 实44 模拟Linux环境下的vi编辑器 124 实45 文件操作综合应用——银行账户管理 128 第4部分 病毒与安全篇 实46 实用内存清理程序 134 实47 如何检测Sniffer  136 实48 加密DOS批处理程序 139 实49 使用栈实现密码设置 141 实50 远程缓冲区溢出漏洞利用程序 144 实51 简易漏洞扫描器 146 实52 文件病毒检测程序 149 实53 监测内存泄露与溢出 150 实54 实现traceroute命令 152 实55 实现ping程序功能 154 实56 获取Linux本机IP地址 157 实57 实现扩展内存的访问 161 实58 随机加密程序 164 实59 MD5加密程序 165 实60 RSA加密实 168 第5部分 图形篇 实61 制作表格 172 实62 用画线函数作出的图案 174 实63 多样的椭圆 176 实64 多变的立方体 177 实65 简易时钟 178 实66 跳动的小球 181 实67 用柱状图表示学生成绩各分数段比率 183 实68 EGA/VGA屏幕存储 187 实69 按钮制作 190 实70 三维视图制作 193 实71 红旗图案制作 194 实72 火焰动画制作 196 实73 模拟水纹扩散 199 实74 彩色的Photo Frame  201 实75 火箭发射演示 203 第6部分 系统篇 实76 恢复内存文本 208 实77 挽救磁盘数据 210 实78 建立和隐藏多个PRI DOS分区 213 实79 简单的DOS下的中断服务程序 216 实80 文件名分析程序 219 实81 鼠标中断处理 222 实82 实现磁盘数据的整体加密 224 实83 揭开CMOS密码 227 实84 获取网卡信息 229 实85 创建自己的设备 23186 设置应用程序启动密码 233 实87 获取系统配置信息 236 实88 硬件检测 239 实89 管道通信 241 实90 程序自杀技术实现 244 第7部分 游戏篇 实91 连续击键游戏 248 实92 掷骰子游戏 250 实93 弹力球 252 实94 俄罗斯方块 253 实95 24点扑克牌游戏 257 实96 贪吃蛇 260 实97 潜水艇大战 262 实98 机器人大战 265 实99 图形模式下的搬运工 266 实100 十全十美游戏 269 第8部分 综合篇 实101 强大的通信录 274 实102 模拟Windows下UltraEdit程序 277 实103 轻松实现个人理财 279 实104 竞技比赛打分系统 281 实105 火车订票系统 286

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

cc_sky

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值