经典C语言100道题.docx
【程序1】
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去
掉不满足条件的排列。
2.程序源代码:
main()
{
int i,j,k;
printf("\n");
for(i=1;i<5;i++) /*以下为三重循环*/
for(j=1;j<5;j++)
for (k=1;k<5;k++)
{
if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/
printf("%d,%d,%d\n",i,j,k);
}
}
C语言经典900例程序
样例
/*输出1-100*/
#include <stdio.h>
int main ()
{
int value = 0;
while (value <= 100)
{
printf("%d\n", value);
value++;
}
return 0;
}
各种字符编码详解.doc
字符编码的问题看似很小,经常被技术人员忽视,但是很容易导致一些莫名其妙的问题。这里总结了一下字符编码的一些普及性的知识,希望对大家有所帮助。
还是得从ASCII码说起
说到字符编码,不得不说ASCII码的简史。计算机一开始发明的时候是用来解决数字计算的问题,后来人们发现,计算机还可以做更多的事,例如文本处理。但由于计算机只识“数”,因此人们必须告诉计算机哪个数字来代表哪个特定字符,例如65代表字母‘A’,66代表字母‘B’,以此类推。但是计算机之间字符-数字的对应关系必须得一致,否则就会造成同一段数字在不同计算机上显示出来的字符不一样。因此美国国家标准协会ANSI制定了一个标准,规定了常用字符的集合以及每个字符对应的编号,这就是ASCII字符集(Character Set),也称ASCII码。
当时的计算机普遍使用8比特字节作为最小的存储和处理单元,加之当时用到的字符也很少,26个大小写英文字母还有数字再加上其他常用符号,也不到 100个,因此使用7个比特位就可以高效的存储和处理ASCII码,剩下最高位1比特被用作一些通讯系统的奇偶校验。
注意,字节代表系统能够处理的最小单位,不一定是8比特。只是现代计算机的事实标准就是用8比特来代表一个字节。在很多技术规格文献中,为了避免产生歧义,更倾向于使用8位组(Octet)而不是字节(Byte)这个术语来强调8个比特的二进制流。下文中为了便于理解,我会延用大家熟悉的“字节”这个概念。
C语言程序实现:狐狸抓兔子
/*
围绕着山顶有10个圆形排列的洞,狐狸要吃兔子,兔子说:“可以,但必须先找到我,我就藏身于这十个洞中的某个洞。
你从1号洞找,下次隔1个洞(即3号洞)找,第三次隔2个洞(即6号洞)找,再隔3个…以后在这个圆圈中如此类推,
次数不限。”但狐狸从早到晚进进出出了1000次,仍没有找到兔子。
问兔子究竟藏在哪个洞里?
*/
C语言程序实现: 倒序数
完整题目,程序在附件中:
/*
倒序数是将一个阿拉伯数的各位上的数字以逆序的形式写成的数。该阿拉伯数的第一位变成最后位,最后位变成第一位。例如数1245被写成5421。注意产生的新数字前边所有的数字0是被略去的。倒序数的尾部无多余的数字0。请将阿拉伯数转变为倒序数。
输入
输入的第一行仅有一个正整数n,表示有n组测试数据。接下来有n行,每一行是一组测试数据,长度不超过100。每一行上的字符串表示一个非负整数,它是你需要转换的数。
输出
对每一组测试数据在一行上输出倒序数,该倒序数中前导的数字0被略去了。
输入样例 输出样例
3
24 42
43400 434
305 503
*/
C语言程序:倒序数的实现
完整题目:
倒序数是将一个阿拉伯数的各位上的数字以逆序的形式写成的数。该阿拉伯数的第一位变成最后位,最后位变成第一位。例如数1245被写成5421。注意产生的新数字前边所有的数字0是被略去的。倒序数的尾部无多余的数字0。请将阿拉伯数转变为倒序数。
输入
输入的第一行仅有一个正整数n,表示有n组测试数据。接下来有n行,每一行是一组测试数据,长度不超过100。每一行上的字符串表示一个非负整数,它是你需要转换的数。
输出
对每一组测试数据在一行上输出倒序数,该倒序数中前导的数字0被略去了。
输入样例 输出样例
3
24 42
43400 434
305 503
Proteus_ISIS分立元件库元件名称及中英对照
部分内容:
Proteus 元件名称对照1
元件名称 中文名 说明
7407 驱动门
1N914 二极管
74Ls00 与非门
74LS04 非门
74LS08 与门
74LS390 TTL 双十进制计数器
7SEG 4针BCD-LED 输出从0-9 对应于4根线的BCD码
7SEG 3-8译码器电路BCD-7SEG[size=+0]转换电路
ALTERNATOR 交流发电机
AMMETER-MILLI mA安培计
AND 与门
BATTERY 电池/电池组
BUS 总线
C语言:详解C语言中的lib文件
部分内容:
用C 语言编程时,通常要建立一些用户函数。如果这些函数具有通用性,一般的方法是将它们作成头文件,当需要时用“#include”命令将其包含到源程序之中,以提高编程效率。但在特定的程序中一般仅使用这些函数的一部分,若用上述方法包含所有函数,编译器在编译的时候会把所有包含进的函数都进行编译,这无疑会使源程序变得庞大而难于理解,并会影响执行效率。建立用户目标模块库(lib文件)可以解决这个问题,你可以事先把有特定功能的通用的子函数集编译完成后生成的obj文件打入lib文件,当链接器tlink.exe在进行链接操作时,便只会把程序内部用到的通用函数所在的obj文件链接进来(已验证:不能定位到具体函数),这样生成的obj文件便会更精简,生成的exe文件也更小。
其实,一个lib文件是obj文件的集合。当然,其中还夹杂着其他一些辅助信息,目的是为了让编译器能够准确找到对应的obj文件。我们可以通过tlib.exe(在tc2.0下的根目录)来对lib文件进行操作,你可以把自己生成的obj文件通过tlib命令加入到一个lib文件中,也可以把lib文件内的obj文件进行删除操作,还可以把内部的obj文件给提取出来。明白了lib文件的大致结构以及对它的具体操作,在学习C语言的过程中,就会又多了一个切入点对C语言具体实现进行研究。
C语言程序设计实验指导书
C语言程序设计实验指导书
部分内容:
实验一 C程序的运行环境 ............................................................................................................ 1
实验二 数据类型、运算符和表达式 ............................................................................................ 5
实验三 顺序结构程序设计 .......................................................................................................... 10
实验四 逻辑结构程序设计 .......................................................................................................... 14
实验五 循环控制 .......................................................................................................................... 18
实验六 数组 ................................................................................................................................. 23
实验七 函数1 ............................................................................................................................... 30
实验八 函数2 ............................................................................................................................... 34
实验九 指针1 ............................................................................................................................... 39
实验十 指针2 ............................................................................................................................... 42
实验十一 结构体、共用体和位运算 .......................................................................................... 45
实验十二 文件 .............................................................................................................................. 51
实验十三 综合实验1(用函数实现) ....................................................................................... 54
EG13-1: 打印各个月份的月历 .................................................................................. 54
EG13-2: 小学数学运算的程序 ................................................................................... 57
实验十四 综合实验2(用函数、结构体、文件实现) ........................................................... 58
EG14-1: 通讯录管理系统 ........................................................................................... 58
EG14-2: 学生选课管理系统 ....................................................................................... 70
实验十五 综合实验3(用函数、结构体、文件实现) ........................................................... 71
EG15-1: 学生成绩管理系统 ....................................................................................... 71
EG15-2: 图书信息管理系统 ....................................................................................... 78
实验十六 综合实验4(用函数、结构体、文件、链表实现) ............................................... 80
EG16-1: 学生成绩管理系统 ....................................................................................... 80
EG16-2: 实验设备管理系统 ....................................................................................... 85
附录1:常见错误提示信息的英汉对照 ...................................................................................... 87
附录2:VISUAL C++ 6.0集成开发环境的使用 ........................................................................... 94
论文:HL7003语音识别电路
HL7003语音识别电路.pdf
HL7003语音识别电路.pdf
论文:菲涅尔透镜及其应用
菲涅尔透镜及其应用.pdf
菲涅尔透镜及其应用.pdf
移动互联网应用及发展趋势(艾瑞咨询)
移动互联网应用及发展趋势(艾瑞咨询).pdf
移动互联网应用及发展趋势(艾瑞咨询).pdf
C语言程序实现:通讯录管理系统
题目:
通讯录管理系统:
该系统通过文本菜单进行操作,
功能包括:创建通讯录、显示记录、查询记录、修改记录、添加记录、删除记录和记录排序等,
各功能模块均采用独立的函数来表示,通过主函数直接或是间接调用,
特别注意的是,通讯录数据采用结构体定义和管理,
并可以直接从文件中读入数据或是将数据写入文件中,
体会这样做的的优越性。
C语言程序:一组没规律的数字,从小到大排列
部分代码:
#include <stdio.h>
#include <windows.h>
#define N 5
C语言程序:作一个可供小学数学运算的程序,10以内加减乘除法
题目:
作一个可供小学数学运算的程序:10以内加减乘除法,能根据输入的题数,由计算机自动出题,判断做题是否正确,最后计算分数。如:
请输入题数:2
3+5=8 正确!
2*4=6 错误!
您的正确率为:50%
C语言程序:休眠 随机 清屏
部分代码:
#include
#include //随机函数头文件
#include //休眠函数头文件
#include//清屏函数头文件
C语言程序:输入年月日,判断该年月日为这一年的哪一天
部分代码:
int main(int argc, char *argv[])
{
int month,days,year,days_per_year,i=0;
char str[]="Please input year,month,days:\n";
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
days_per_year=0;
while(str[i]!='\0')
{
putchar(str[i]);
Sleep(150);
i++;
}
scanf("%d,%d,%d",&year,&month,&days);
if((year%4==0&&year%100!=0)||(year%400==0))
{
a[1]=29;
}
for(i=0;i<month-1;i++)
{
days_per_year+=a[i];
}
days_per_year+=days;
printf("The days_per_year is:%d\n",days_per_year);
return 0;
}
C语言程序:日历的实现
部分代码:
int main(int argc, char *argv[])
{
int year,month,leap_year,i,j,days_this_year,week_days;
long days;
int months[12]={31,28,31,30,31,30,31,31,30,31,30,31};
leap_year=0;
days_this_year=0;
days=0;
week_days=0;
printf("Please input year and month:");
scanf("%d,%d",&year,&month);
for(i=1900;i<year;i++)
{
if((i%4==0&&i%100!=0)||(i%400==0))
{
leap_year++;
}
}
if((year%4==0&&year%100!=0)||(year%400==0))
{
months[1]=29;
}
for(i=0;i<month-1;i++)
{
days_this_year+=months[i];
}
//days_this_year+=day;
days=(year-1900)*365+leap_year+days_this_year;
week_days=days%7+1;
printf("日 一 二 三 四 五 六\n");
for(i=0;i<week_days;i++)
printf(" ");
for(i=1;i<=months[month-1];i++)
{
printf("%-4d",i);
week_days++;
if(week_days%7==0)
{
week_days=0;
printf("\n");
}
}
printf("\n");
// printf("%ld\n",days);
return 0;
}
C语言程序:求子数组的最大和
.求子数组的最大和
题目:
输入一个整形数组,数组里有正数也有负数。
数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。
求所有子数组的和的最大值。要求时间复杂度为O(n)。
例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,
因此输出为该子数组的和18。
C语言程序:求时针和分针的夹角
题目:指针式时钟的时针和分针之间有一个夹角。假设时针和分针都是连续移动的,从标准输入上读取一个以h:m形式表示的24小时制的时间,其中h和m均为整数,且0≤h≤23,0≤m≤59,分别表示小时和分钟。在标准输出上输出该时刻时针和分针的夹角A(0≤A≤180),并保留3位小数值。例如,对于输入数据8:10,输出175.000
思路:时针12格,每格360、12=30度,分针每格60度
Android手掌抑制demo
一个基于Android手掌抑制的demo,即当手掌放在屏幕上时,也能在手写区域进行手写操作。
基于二维码的wifi账号密码共享demo
一个基于二维码的wifi账号密码共享demo,将本机连接的wifi账号和密码通过生成二维码让其他人扫的方式分享wifi账号和密码。
前提:双方都需要安装该apk,分享wifi一方需要有root权限。
汉字转拼音Jpinyin实例
汉字转拼音开源工具包Jpinyin的demo程序,支持多音字的转换等。
Android自定义权限permission
一个Android自定义权限permission的实例,帮助初学者了解如何自定义访问权限。
AndroidAnnotions示例工程
一个关于AndroidAnnotions开源注解框架的示例工程,方便需要使用注解的朋友导入配置。
android监听home按键实例
通过Intent.ACTION_CLOSE_SYSTEM_DIALOGS监听Android的Home按键消息实例程序。
Android中SpannableString实例程序
这是一个通过Spannable来丰富TextView显示效果的demo程序。
Android自定义带箭头的Progressbar
本例实现带箭头的自定义横向进度条,通过这个demo还可以改造成动画带着进度条跑动等效果。
Android摇一摇demo
本例是结合摇一摇的场景介绍android中SensorManager和SensorEventListener类的使用
Android应用通过AnimationDrawable实现View的动画效果
Drawable animation可以加载Drawable资源实现帧动画。AnimationDrawable是实现Drawable animations的基本类。推荐用XML文件的方法实现Drawable动画,不推荐在代码中实现。这种XML文件存放在工程中res/drawable/目录下。XML文件的指令(即属性)为动画播放的顺序和时间间隔。
Android Menu开源项目整合工程
关于Android Menu的整合工程,整合了SlidingMenu、MenuDrawer、SatelliteMenu、ArcMenu、RatialMenu、WheelMenu等优秀的开源项目
monkey可视化工具
Monkey是Android SDK自带的自动化测试工具,可以运行在模拟器里或实际设备中,它向系统发送随机的用户事件流,如按键输入、触摸屏输入、手势输入、Sensor 事件等,实现对正在开发的应用程序进行压力测试。
本工具为mongkey的可视化工具,可以避免记忆monkey命令,只需要在配置文件里面设置好包名即可使用。
ActionBar自定义布局源码工程
自定义ActionBar布局,解决不能灵活控制Android的ActionBar的问题。
Android Shape实例
Android Shape源码实例,通过shape可以为为视图设置圆角背景,既可以通过在xml文件中直接为视图设置背景,又可以通过在代码中动态设置。
LogiScope 6.1破解版part2
Logiscope是面向源代码进行工作的,贯穿于软件开发、代码评审、单元测试、集成测试、系统测试、以及软件维护阶段。
本人上传得LogiScope 6.1属于破解版本,下载安装之后,第一次使用LogiScope6.1时会提示激活该软件,制定Liscense到解压后文件夹的liscense.dat即可激活
LogiScope 6.1破解版part1
Logiscope是面向源代码进行工作的,贯穿于软件开发、代码评审、单元测试、集成测试、系统测试、以及软件维护阶段。
本人上传得LogiScope 6.1属于破解版本,下载安装之后,第一次使用LogiScope6.1时会提示激活该软件,制定Liscense到解压后文件夹的liscense.dat即可激活
java基础教程课件.rar
第1章 Java概述
第2章 Java语言基础
第3章 面向对象的核心特性
第4章 接口、内部类和包
第5章 异常处理
第6章 图形用户界面
第7章 多线程
第8章 Applet应用程序
第9章 输入/输出流和文件操作
第10章 网络通信
第11章 数据库应用
第12章 JSP
第13章 综合应用设计
MFC教程入门知识全集
从简单道难,先讲C++,再将类,最后MFC,并插入了VC用法。容易入门,可以下去试试看
华为编程规范和范例.zip
想从事软件开发行业的朋友会有用到的,分享下大公司里面的编程规范。
java 实效编程百例
很多例子都挺不错的,是本适合新手熟悉java 的好书。