C语言案例
文章平均质量分 64
TD_时缔
请叫我时缔!
我用代码筑写青春!
只为做一个时代缔造者!
展开
-
第7周 C语言程序设计(新2版) 练习2-4 删除s1中与s2相匹配的字符
问题及代码:/*将字符串s1中任何与字符串s2中字符匹配的字符都删除,即删除s1中与s2相同的字符*/void squeeze(char s1[],char s2[]){ int i; s1的长度 int j; s2的长度 int k; s1删除后的长度 for(i=j=0;s1[i]!='\0';i++) //此处的j能否先不进行原创 2016-05-14 17:28:01 · 709 阅读 · 0 评论 -
第8周 C语言及程序设计提高例程-32 数组的输入输出
问题及代码:/*输入输出二维数组元素*/#include int main(){ int a[2][3]; int i,j; printf("input 2*3 numbers"); for(i=0;i<2;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); for原创 2016-05-22 08:06:26 · 702 阅读 · 0 评论 -
第10周 C语言及程序设计提高例程-36 多维数组作函数参数
问题及代码:/*用多维数组名作函数参数*/#include int max_value(int array[][4]);int main(){ int a[3][4]={{11,32,45,67},{22,44,66,88},{15,72,43,37}}; printf("max value is %d\n",max_value(a)); return 0;原创 2016-06-01 17:24:50 · 813 阅读 · 0 评论 -
第10章 C语言及程序设计提高例程-37 操作字符串数组
问题及代码:/*求最小姓氏*/#include #include char *min_name(char [][10],int);int main(){ char name[5][10]={"Zhao", "Qian", "Sun", "Li", "Zhou"}; printf("%s\n",min_name(name,5)); return 0;}char原创 2016-06-01 17:44:28 · 460 阅读 · 0 评论 -
第10周 C语言及程序设计提高例程-38 main函数的参数
1、问题及代码:/*查看命令行提供的参数*/#includeint main(int argc,char *argv[]){ int count; printf("The commend line has %d arguments:\n",argc); for(count = 0;count <argc;count++) printf("%d:%s\n",c原创 2016-06-02 15:09:37 · 428 阅读 · 0 评论 -
第10章 C语言及程序设计提高例程-39 动态存储管理与动态数组的实现
1、问题及代码:/*动态存储空间管理示例*/#include#includeint main(){ int *p1,*p2,max; p1 = (int *) malloc(sizeof(int));//sizeof(int)整数类型需要的大小 p2 = (int *) malloc(sizeof(int));//malloc()函数返回void*类型,表示为确定类型的指原创 2016-06-02 16:12:32 · 581 阅读 · 0 评论 -
第10周 C语言及程序设计提高例程-40 小小型应用系统开发指导(四)
问题及代码://--------------------- // bank.cpp(银行功能系统) //---------------------#include#include#include#include#include#define upNum 2000 //系统最多容纳的用户数int user[upNum][3]; //账号、密码、状态 char name[原创 2016-06-04 16:14:38 · 735 阅读 · 0 评论 -
第11周 C和C指针 1.1 输入输出
问题及代码:/*从标准输入中读取输入行并在标准输出中打印这些输入行 输入的第一行是一串列标号,串的最后以一个负数结尾 标号成对出现,说明需要打印的输入行的范围 */ #include#include#include#define MAX_COLS 20#define MAX_INPUT 1000int read_column_numbers(int columns原创 2016-06-06 16:32:42 · 306 阅读 · 0 评论 -
第16周 啊哈算法 火柴棍等式
问题及代码:/*m<=24根火柴棍,求可以构造出多少个满足A+B=C的等式,其中=和+各需2根火柴棍*/#includeint fun(int x) { int f[10]={6,2,5,5,4,5,6,3,7,6}; int sum=0; while(x/10!=0) //x至少是十位数及以上 { sum+=f[x%10]原创 2016-07-11 14:46:52 · 1691 阅读 · 0 评论 -
第10周 C语言及程序设计提高例程-35 使用指针操作二维数组
问题及代码:/*使用指向二维数组元素的指针*/#includeint main(){ int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; int *p; for(p=a[0];p<a[0]+12;p++) { printf("%3d",*p); } return 0; }/*使用指向一维数组元素的指原创 2016-06-01 10:51:44 · 702 阅读 · 0 评论 -
第10周 C语言程序设计(新2版) 3.5例题 函数atoi(s),将字符串转换为对应数值
问题及代码:/*编写函数atoi(s),将字符串转换为对应数值*/#include/*atoi函数:将s转换为整型数*/int atoi(char s[]){ int i,n,sign; for(i=0;isspace(s[i];i++)) ; sign = (s[i]=='-')?-1:1; if(s[i]=='+'||s[i]=='-')原创 2016-05-31 18:05:12 · 1293 阅读 · 0 评论 -
第10周 C语言程序设计(新2版) 练习3-2 复制字符串,不可显示符号转为可示
问题及代码:/*编写函数escape(s,t),使其复制字符串从t到s,并将不可显示换行符、制表符转为\n和\t.*/void escape(char s[s],char t[]){ int i,j; for(i=j=0;t[i]!='\0';i++) { switch(t[i]) { case '\n': s[j原创 2016-05-31 17:47:47 · 1078 阅读 · 0 评论 -
第7周 C语言程序设计(新2版) 练习2-5 返回最早出现匹配字符的位置
问题及代码:/*函数any(s1,s2),字符串s2中任一字符在字符串s1中第一次出现的位置作为结果返回,若s1不包含s2的字符,则返回-1*/int any(s1[],s2[]){ int i,j; for(i=0;s1[i]!='\0';i++) for(j=0;s2[j]!='\0';j++) if(s[i]==s[j])原创 2016-05-14 17:53:45 · 612 阅读 · 0 评论 -
第7周 C语言程序设计(新2版) 例题 3个函数例题
1、问题及代码:/*strcat函数:将字符串s2连接到字符串s1的尾部,s1必须有足够的空间*/void strcat(char s1[],char s2[]){ int i,j; i=j=0; while(s1[i]!=='\0') i++; while((s1[i++]=s2[j++])!='\0') //拷贝s2 ;}2、问题及原创 2016-05-14 20:22:22 · 1046 阅读 · 0 评论 -
第7周 C语言程序设计(新2版) 练习2-6/7/8 位运算符(不太理解)
问题及代码:/*函数setbits(x,p,n,y)返回对x操作后的结果:将x中第p位开始的n个(二进制)位设置为y中最右边n位的值,x其余各位保持不变。*/unsigned setbits(unsigned x,int p,int n,unsigned y){ return x&~(~(~0 << n) << (p+1-n))||(y&~(~0 << n)) << (p+原创 2016-05-14 18:27:49 · 980 阅读 · 0 评论 -
第8周 C语言及程序设计提高例程-30 字符和字符串处理函数
问题及答案:/*统计字符串中数字个数*/#include#includeint main(){ char s[50]; int i=0,n=0; printf("请输入字符串:"); gets(s); //字符串的输入函数用gets,单个字符才是getchar while(s[i]!='\0') { if(isdigit(s[i])) n++;原创 2016-05-17 07:38:15 · 832 阅读 · 0 评论 -
第4周 C语言及程序设计提高例程-20 经典:查找的艺术
1、数组中的基本操作:顺序查找元素问题及代码:#include #define SIZE 10 int main( ) { int d[SIZE]={34, 43, 98, 72, 12, 47, 31, 43, 1, 78}; int i,key,index=-1; printf("Input a key you want to sear原创 2016-04-22 07:11:38 · 741 阅读 · 0 评论 -
第4章 C语言及程序设计提高例程-21 首尝排序——冒个泡
问题及代码:#include #define n 10int main( ){ int i,j,t,a[10]= {3,5,9,11,33,6,-9,-76,100,123}; for (i=0; i<n-1; i++) for(j=0; j<=n-i-1; j++) if (a[j]>a[j+1]) {原创 2016-04-22 07:23:19 · 872 阅读 · 0 评论 -
第8周 C语言及程序设计提高例程-31 编制自己的字符串函数
1、字符串复制;问题及代码:#includechar *scopy(char *s1,char *s2);int main(){ char s1[50]; scopy(s1,"I am happy."); printf("%s",s1); return 0;}char *scopy(char *s1,char *s2){ int i=0,j=0; while(s2[原创 2016-05-17 22:13:26 · 926 阅读 · 0 评论 -
第10周 C语言程序设计(新2版) 第三章例题 swich统计数字、字符和其它符号
问题及代码:/*用swich语句统计数字、字符和其它符号*/#includeint main(){ int c,i,nwhite,ndigit[10],nother; for(i=0;i<10;i++) ndigit[i]=0; while((c=getchar())!=EOF) { swich(c) { case '0':原创 2016-05-31 17:22:58 · 1499 阅读 · 0 评论 -
第15周 啊哈算法 队列和栈的实例:纸牌游戏
问题代码:/*队列和栈的应用功能:小哼和小哈打牌,判断哪方获胜,并求手中牌和桌中牌*/#includestruct queue { int date[100]; int head; int tail; };struct stack { int date[10]; int top; };int main() { struct queu原创 2016-07-09 15:03:23 · 997 阅读 · 0 评论 -
第16周 啊哈算法 深度优化搜索算法
问题及代码:/*深度优化搜索算法*/ #includeint a[10],book[10],n;//book是标记void dfs(int step) { int i; if(step==n+1) //站在n+1的位置,表明n个盒子已经放好牌了 { for(i=1;i<=n;i++) printf("%d",a[i]);原创 2016-07-11 16:34:00 · 1165 阅读 · 0 评论 -
第18周 C语言实战105例 实例1:一个价值三天的"BUG"
问题及代码:/*使用sscanf处理行定向的输入*/#include#include# define BUFFERSIZE 1024int main() { unsigned short a,b,c,sum; char buffer[BUFFERSIZE]; //fgets()读取字符并复制到buffer中 while((fgets(buffer,BUFFE原创 2016-07-27 11:44:54 · 888 阅读 · 0 评论 -
第18周 C语言实战105例 例5:使用位运算符解析IP地址
问题及代码:/*例5:使用位运算符解析IP地址*/#include#includeint main(){ unsigned long input_IP; unsigned int BeginByte,MidByte,ThirdByte,EndByte; unsigned int_rotatc=0x07;//将用来调用循环移位操作的无符号数 //获取需要解析的十六进原创 2016-07-27 17:27:12 · 842 阅读 · 0 评论 -
第13周 数据结构(上海交大) 6-2 两个有序链表归并
问题及代码:// 两个有序链表归并void MergList(LinkList &La,LinkList &Lb) { pa = La->next; pb = Lb->next; q = La; //La链表的头结点赋值给 q,即跟踪器,一直跟着pa while(pa && pb) //表示pa、pb所指向的结点都存在 { if(pa->date d原创 2016-06-20 22:04:15 · 650 阅读 · 0 评论 -
第12周 《C语言及程序设计》实践项目——if语句的嵌套
问题及代码:/*【项目1:分段函数求值】从键盘输入x的值(要求为实型),根据公式1计算并输出x和y的值。 */#include#includeint main(){ double x,y; scanf("%lf",&x); if(x<2) y=x; else if(x<6) y=x*x+1; else if(x<10) y=s原创 2016-06-14 10:45:14 · 694 阅读 · 0 评论 -
第13周 《C语言及程序设计》实践参考——定期存款利息计算器
问题及代码:【项目:定期存款利息计算器】输入存款金额并选择存款种类,计算出利息(不计利息税)和本息合计。要求使用switch语句,根据选择的存款种类,确定利率和存期后计算。提示:利息=金额×年利率×存期(单位:年,3个月为0.25年,6个月为0.5年)。例如:1000元存6个月,利息=1000×0.033×0.5=16.5元利率使用2011年7月7日公布的年利率:3个月 3.原创 2016-06-23 17:39:20 · 2613 阅读 · 0 评论 -
第17周 啊哈算法 图的遍历算法(深度优先)
问题及答案:#includeint min=999999,n;int e[101][101];int book[101];void dfs(int cur,int dis) { int i; if(dis>min) return; if(cur==n) { if(dis<min) min=dis; return; }原创 2016-07-20 09:27:31 · 1311 阅读 · 0 评论 -
第27周- C语言游戏编程从入门到精通-例1-猜数字游戏
1、猜数字游戏:/*猜数字游戏GuessGame.C*/#include#includevoid main(void) { int answer[4] = {1,3,5,2}; int i,j,guess,times = 0; int a,b; printf("Please guess game!\n"); while(a!=4) {原创 2016-09-30 08:05:27 · 940 阅读 · 0 评论 -
C语言开发邮件系统-2
基本功能设定:申请、注销、发送、阅读、删除、保存;服务器:保存信息、验证密码、接收转发、管理(存、开、删);客户端:选择服务项、读删编辑发送;共有功能:C到S发送请求、密码等;S到C发送响应;C到S发送邮件;S到C传送邮件。(可用Linux的SOCKET网络编程接口实现)模块: 1、服务器:文件与通信;(信件管理的开删等与用户信息的保持验证) 2、客户端:通信与界面。(界面原创 2016-10-30 10:37:24 · 9966 阅读 · 3 评论 -
第18周 C语言实战105例 实例2:递增递减操作符
问题及代码:/*实例2:递增递减操作符*/ #include#includeint main(){ int i=10,j; system("cls"); //原题用clrscr(),但其不是标准函数,无法调用 j=i++; //i赋值给j后,i自增1 printf("%d\t%d\n",i,j); //i==11,j==10 i=++j; //j自增1,原创 2016-07-27 15:37:05 · 823 阅读 · 0 评论 -
第18周 C语言实战105例 实例4:逻辑运算符计算器
问题及代码:/*实例4:逻辑运算符计算器 */ #include#includeint main(){ int x=25,y=25,z=30; float f=25.095,h=25.095; if(x==y) printf("x==y\n"); else printf("x!=y\n"); if(x!=z) printf("x原创 2016-07-27 16:25:05 · 1048 阅读 · 0 评论 -
第16周 啊哈算法 水管工铺设管道
问题及代码:/*水管工:铺设管道*/ #includeint a[50][51];int book[50][50];int n,m,flag;void dfs(int x,int y,int front) { int i; if(x==n && y==m+1) { flag==1; return; }原创 2016-07-13 17:38:56 · 1124 阅读 · 1 评论 -
第12周 《C语言及程序设计》实践项目——用if语句实现分支结构
问题及代码:/*【项目1:被3或者5整除的数】编程序,输入一个数,判断它能否被3或者被5整除。如至少能被这两个数中的一个整除,则将此数打印出来,否则不打印。*/#includeint main(){ int c; printf("输入一个数:"); scanf("%d",&c); if(c%3==0 || c%5==0) printf("%d",c); r原创 2016-06-14 10:19:57 · 731 阅读 · 0 评论 -
第16周 啊哈算法 深度优化搜索应用(最短路径算法)
问题及代码:/*求最短路径算法用途:可用于交通系统、营救最优路径 */ #includeint n,m,p,q,min=999999;int a[50][51],book[50][51];void dsf(int x,int y,int step) { //下一步四个方向的数组 int next[4][2]={(0,1), (原创 2016-07-12 09:27:26 · 872 阅读 · 0 评论 -
第14周 《C语言及程序设计》实践参考——有序数组中插入数据
问题及代码:/*【项目3-有序数组中插入数据】定义好一个有10个元素的数组,先输入9个呈升序的数作为前9个元素,再输入一个数,要求按原来排序的规律将它插入数组中。*/ #includeint main(){ int a[10]; int i,n; for(i=0;i<9;i++) scanf("%d",&a[i]); //循环输入 scanf("%d"原创 2016-06-30 15:04:46 · 949 阅读 · 0 评论 -
第14周 《C语言及程序设计》实践参考——工资的排序
问题及代码:/*【项目4-工资的排序】从文件salary.txt中读入工人的工资(不超过500人),全部增加20%(好事),然后对工资数据进行排序,将排序后的结果保存到文件ordered_salary.txt中。*/ #includeint main(){ double salary[500]; FILE *fpin,*fpout; fpin=fopen("sa原创 2016-06-30 15:54:02 · 918 阅读 · 0 评论 -
第16周 啊哈算法 炸弹人(两种算法注意对比)
问题及代码:/*炸弹人:计算出哪个位置的炸弹能炸到最多的人(本题有例外情况,需要优化) */#includeint main(){ char a[20][21]; int i,j,sum,map=0,p,q,m,n,x,y; scanf("%d %d",&n,&m);//n表示行字符数 for(i=0;i<=n-1;i++) scanf("%s",原创 2016-07-11 15:46:02 · 3474 阅读 · 1 评论 -
第14周 《C语言及程序设计》程序阅读——数组与指针
问题及代码://函数功能:fun()改变当前值及其后的值 #includevoid fun(int *s) { static int i=0; //不太明白i为何用静态变量 do { s[i]+=s[i+1]; //将本身与后一个数相加进行赋值 } while(++i<2); //可改变当前及其后的值,i可取0和1 } int ma原创 2016-06-30 17:50:20 · 624 阅读 · 0 评论 -
第14周 《C语言及程序设计》实践项目——数组与指针
问题及代码://功能:reverse()实现逆序翻转 #includevoid reverse(int *a,int n) { int i,t; for(i=0;i<n/2;i++) { t=a[i]; a[i]=a[n-i-1]; a[n-i-1]=t; } } int main(){ int s[5]={1,原创 2016-06-30 18:27:11 · 708 阅读 · 0 评论