随笔分类 - 4 算法实例练习——编程基本
4.19递归反向输出字符串
摘要:Q:编写一个递归函数,实现将输入的任意长度字符串反向输出的功能。
阅读全文
4.18n阶勒让德多项式求解
摘要:Q:编写程序,输入正整数n和任意数x,求出勒让德多项式的值Pn(x)
阅读全文
4.17寻找矩阵中的鞍点
摘要:鞍点:某个矩阵中的某个元素,在该行中最大,在该列中最小;一个矩阵中也可能没有鞍点,所以一个矩阵中存在鞍点也只能只有一个。
阅读全文
4.14打印特殊图案
摘要:第一种: 第二种: 发现第一种与第二种运行的结果是正确的,下述的第三者有点小区别。 第三种:
阅读全文
4.13十进制/二进制转换器
摘要:Q:输入一个十进制数,转换为二进制数。 思路:除2取余
阅读全文
4.12程序运行时间
摘要:Q:编写一段程序,要求记录并输出该程序执行的时间。 clock_t 类型是<time.h>库文件中定义的表示时间值的算术类型。也就是说应用clock_t类型的变量可以记录存储一个系统时间值、 clock()函数的作用是返回从程序运行开始到调用clock()函数所花费的处理器时间。返回值类型是cloc
阅读全文
4.11 计算文件的大小
摘要:Q:编写一个c程序,计算指定文件的大小。 注意: fseek(FILE *fp,long offset,int base);//重定位流上的文件指针,即将fp指向的文件的位置指针移向以base为基准,以offset为偏移量的位置。 ftell(FILE *fp);//返回当前文件指针的位置。这个位置
阅读全文
4.10文件的读写
摘要:Q 创建一个后缀名为txt的文件,并向该文件写入一个字符串保存起来。再打开该文件,读出文件中的内容。 注意:所有的I/O函数都定义在 #include<stdio.h> 或者#include"stdio.h" 常用I/O函数: 完整程序: 疑惑:发现在下面的语句中不需要&,也可以运行,这是什么情况?
阅读全文
4.9位运算
摘要:Q:用位运算操作实现两个整数的交换。 证明:令a‘=a^b;(a'为中间值),所以:b=b^a'=b^(a^b)=b^b^a=0^a=a; 同理:a=a'^b=(a^b)^a=b 因此实现了a与b的交换。 总结:利用位异或运算,可以省掉临时变量,减少程序运算的空间复杂度。
阅读全文
4..8矩阵的乘法运算
摘要:Q:已知矩阵A和矩阵B,实现2个矩阵乘积保留在矩阵C。 注意:A矩阵的列必须与B矩阵的行相等,两个矩阵才能做相乘运算。三重循环嵌套语句。 最内层的循环,实现矩阵A的第m行和矩阵B的第n列对应元素相乘求和,得到C矩阵的元素。
阅读全文
4.7矩阵的转置运算
摘要:Q:编写一个函数实现对该矩阵的转置。 上述有点问题。 总结: 对于上述的函数参数中,形参都包含了一个指向二维数组的指针变量,例如 int (*a)[4]、int (*b)[4],因为此处的被调函数要对主函数中定义的二维数组进行修改,因此不能像4.6中介绍那样用 int *a 或者 int a[]的形
阅读全文
4.6指针变量作参数
摘要:Q:编写一个函数,该函数被主函数调用,通过该函数实现向主函数中定义的数组输入数据。 注意:函数的调用是在内存的堆栈中实现的。一旦函数调用结束,该函数内部的所有局部变量都会被释放掉。 本题目要求对主函数中的数组值进行修改,所以无法通过函数的返回值来实现该功能。要想通过被调函数修改主函数的数组值,只能将
阅读全文
4.4基于switch语句的译码器
摘要:Q:已知前缀码如右图所示,求0/1字符串“001011101001011001”相对应的译码。 出现了如下的结果:
阅读全文
4.1字符类型统计
摘要:Q:终端用键盘输入字符串,以Ctrl+Z组合键表示输入完毕,统计字符串中中空格符、制表符、换行符的个数,并显示统计结果。 思路: 空格符的ASCII碼是32,制表符的ASCII碼是9,换行符的ASCII碼是10、 Crtl+Z的组合键输入的字符在计算机中对应的是EOF结束标识符。 擦,居然编译不出来
阅读全文
浙公网安备 33010602011771号