2016年9月20日至2016年11月12日,从学校图书馆借来的<明解c语言>看完了. 大三第一个学期,前8周,有c语言程序设计的课.课本是学校里的老师编写出版的,为了压缩空间,减少页面,书中的代码都挤成了一团,一点儿美感都没有.课后习题的参考代码输入电脑后,运行错误,仔细看一遍,是最基本的逻辑问题,最最不应该出现的错误.再加上授课老师的教法未得我心. 因此,这8周来,都是课上睡觉,课下<明解c语言>.书中的每一行代码都被我敲进过电脑,前8章的练习也依次做过.第9.10.11.12…
本文为阅读书籍<明解C语言-中级篇>所积累的知识点及编译书本代码时遇到的问题.部分对应代码在\Code_2018\BK_明解C语言目录下.每个代码内都含有程序功能.思路.疑惑点等内容,如有疑问指出. rand() 头文件:#include<stdlib.h> 格式:int rand(void); 功能:生成伪随机数,基于种子值(seed,默认为1),按照特定规律生成的随机数 代码示例:随机数生成.cpp srand() 头文件:#include<stdlib.h> 格式…
柴田望洋 (作者), 管杰 (译者), 罗勇 (译者) <明解C语言>是日本的C语言经典教材,自出版以来不断重印.修订,被誉为“C语言圣经”.作者在日本IT界家喻户晓,出版过一系列极富影响力的计算机教材和参考书.其简洁.通俗的文风深受读者的喜爱. <明解C语言>图文并茂,示例丰富,设有190段代码和164幅图表,对C语言的基础知识进行了彻底剖析,内容涉及数组.函数.指针.文件操作等.对于C语言语法以及一些难以理解的概念,均以精心绘制的示意图,清晰.通俗地进行讲解. <明解C语…
简介 Floyd-Warshall算法(Floyd-Warshall algorithm),是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,与Dijkstra算法类似.该算法名称以创始人之一.1978年图灵奖获得者.斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名. 简单的说就是解决任意两点间的最短路径的一种算法,可以正确处理有向图或负权的最短路径问题,同时也被用于计算有向图的传递闭包.Floyd-Warshall算法的时间复杂度为O(N3),空间复杂度为O(N2). 解决最短…
//哨兵法,就是将待查找的元素加入待查找的数组的后面,这样可以提高性能(在数据量很庞大的时候体现出来) #include <stdio.h> #define FAILURE -1 //使用for循环的 int searching1(int v[],int key,int n) { int i; ;v[i]!=key;i++) { ; //之前没有怎么用过空的for循环体 } return (i<n)?i:FAILURE; } //使用while循环的 int searching(int…
练习4-1 /* 珠玑妙算 */ #include <time.h> #include <ctype.h> #include <stdio.h> #include <stdlib.h> #include <string.h> /*--- 生成4个不同数字的组合并存入数组x ---*/ void make4digits(int x[]) { int i, j, val; for (i = 0; i < 4; i++) { do { val =…
练习2-1 /* 倒计时后显示程序运行时间 */ #include <time.h> #include <stdio.h> /*--- 等待x毫秒 ---*/ int sleep(unsigned long x) { clock_t c1 = clock(), c2; do { ) /* 错误 */ ; } while (1000.0 * (c2 - c1) / CLOCKS_PER_SEC < x); ; } int main(void) { int i; clock_t…
练习1-1 #include <stdio.h> #include<stdlib.h> int main() { srand(time()); ; printf("您的签运是:"); switch (anw) { :printf("大吉"); break; :printf("吉"); break; :printf("小吉"); break; :printf("吉"); break;…
练习5-1 /* 依次把1.2.3.4.5 赋值给数组的每个元素并显示(使用for语句) */ #include <stdio.h> int main(void) { int i; ]; /* int[5]数组 */ ; i <; i++) /* 为数组元素赋值 */ v[i] = i ; ; i<; i++) /* 显示元素的值 */ printf("v[%d] = %d\n", i, v[i]); ; } 练习5-2 /* 依次把1.2.3.4.5 赋值给数…
#include <stdio.h> #define NUMBER 6 #define F_PATH "D:\\C_C++\\ec13-3\\hw.dat" typedef struct { char name[20]; int height; float weight; } student; void swap(student *x,student *y) { student tmp = *x; *x = *y; *y = tmp; } void sort(student…