- 博客(37)
- 资源 (51)
- 收藏
- 关注
原创 学生评分食堂饮食服务质量
[问题]假设有M(M>0)个学生被邀请来给餐厅的饮食和服务质量打分, 分数划分为1~10这10个等级(1表示最低分,10表示最高分), 编程统计并按如下格式输出餐饮服务质量调查结果.#include <stdio.h>#define M 10#define N 11int main(){ /* feedback数组记录每位学生的打分情况 */ /* Count数组记录每个分数(1 ~ 10)学生的数量 */ int i, j, gr.
2021-04-27 22:05:39 3912
原创 求3个数字的全排列并输出
#include<stdio.h>#define N 3/* 求3个数字的全排列并输出 */int main(){ unsigned short num[N] = {1, 2, 3}; short i, j, p; for(i = 0; i < N; i ++) { for(j = i, p = 0; p < N ; j = ++ j % N) { printf("%hu", num[j.
2021-04-26 21:45:27 1019
原创 计算组合数C(m, n)
#include<stdio.h>unsigned long f(unsigned short m, unsigned short n);unsigned long Fact(unsigned short k);int main(){ /* 考虑到用户可能输入负数, 将m、n声明为short类型更稳妥 */ /* 虽然f函数的两个参数均为unsigned short类型, 但实际最大值 = short类型的最大正数值 */ short m; short .
2021-04-26 20:56:16 1968
原创 计算排列数A(m, n)
#include<stdio.h>unsigned long f(unsigned short m, unsigned short n);int main(){ /* 考虑到用户可能输入负数, 将m、n声明为short类型更稳妥 */ /* 虽然f函数的两个参数均为unsigned short类型, 但实际最大值 = short类型的最大正数值 */ short m; short n; /* 考虑到排列数可能较大, 用unsigned long类型.
2021-04-26 20:46:47 3065
原创 好数对
题目内容:已知一个集合A,对A中任意两个不同的元素求和,若求得的和仍在A内,则称其为好数对。例如,集合A={1 2 3 4},1+2=3,1+3=4,则1,2和1,3 是两个好数对。编写程序求给定集合中好数对的个数。注:集合中最多有1000个元素,元素最大不超过10000程序运行示例1:4↙1 2 3 4↙2程序运行示例2:7↙2456 3251 654 890 100 754 1234↙1[程序设计代码]#include<stdi...
2021-04-24 17:58:48 712
原创 编程计算n(2<=n<=500)以内的10个最大素数及其和,分别输出这最大的10个素数及其和
题目内容:编程计算n(n<=500)以内的10个最大素数及其和,分别输出这最大的10个素数及其和。n的值要求从键盘输入。要求10个素数按从大到小的顺序输出。程序运行示例1:Input n(n<=500):10↙ 7 5 3 2sum=17程序运行示例2:Input n(n<=500):100↙ 97 89 83 79 73 71 67 61 59 53sum...
2021-04-24 17:31:44 4711
原创 计算n(2<=n<=500)以内所有素数之和, 并输出这些素数及其和
#include<stdio.h>unsigned short Judge(unsigned short p);int main(){ short n; unsigned long Sum = 0; unsigned short i = 2; /* 容错机制 */ printf("Input n(n<=500):"); while(scanf("%hd", &n) != 1 || n > 500 || n < 2).
2021-04-24 17:22:35 1123
原创 陶陶摘苹果
题目内容: 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当他不能直接用手摘到苹果的时候,就会踩到板凳上再试试。现在已知10个苹果到地面的高度(已知在100cm到200cm之间,包括100cm和200cm),以及陶陶把手伸直时能达到的最大高度(已知在100cm到120cm之间,包括100cm和120cm),请你编写程序帮助陶陶计算一下他能摘到的苹果数目。假设他碰到苹果,苹果就会掉下来。程序运行示例1:100...
2021-04-24 16:43:35 453
原创 选择法排序简介
1. 选择法排序的思想:2. 选择法排序的程序实现:#include<stdio.h>void Choose_Sort(short s[], unsigned short n);unsigned short find_Min(short s[], unsigned short j, unsigned short n);void Swap(short *p, short *q);void Show(short s[], unsigned short n);/* */in.
2021-04-23 21:43:32 54
原创 交换排序法简介
1. 交换排序法的思想:2. 交换排序法的程序实现:#include<stdio.h>void Exchange_Sort(short s[], unsigned short n);void Swap(short *p, short *q);void Show(short s[], unsigned short n);/* */int main(){ short n; unsigned short i = 0; printf("请输入数据的个数.
2021-04-23 21:12:38 136
原创 冒泡排序法简介
1. 冒泡法排序的基本思想:2. 冒泡法排序的程序实现:#include<stdio.h>short Bubble_Sort(short s[], unsigned short n);void Swap(short *p, short *q);void Show(short s[], unsigned short n);/* */int main(){ short n; unsigned short i = 0; printf("请输入数据的个数
2021-04-21 20:29:26 67
原创 线性查找与二分查找
1. 线性查找思想简介:2. 线性查找算法的实现:#include<stdio.h>#define N 10unsigned short Linear_Search(short s[], short num, unsigned short n);int main(){ short x[N]; unsigned short i = 0; short n; short temp; /* 将数据填入数据集合中 */ while(i
2021-04-21 19:54:43 83
原创 最大值计算问题的简单应用
问题: 生活中都有哪些计算最大值的例子?问题: 如何找出一组数据中的最大值?[计算最大值算法流程图]问题: 如何编程实现寻找最大值函数?#include<stdio.h>#define N 5short get_Max(short s[]);int main(){ unsigned short i = 0; short values[N]; printf("请输入%d个数据:\n", N); while(i < N).
2021-04-20 17:31:39 167
原创 一维/二维数组操作实验
#include<stdio.h>/* 此程序无任何实际意义 */int main(){ int i, a = 1, c = 2, b[5] = {0}; printf("%p %p %p %p\n", b, &c, &a, &i); i = 0; while(i <= 8) { b[i] = i; printf("%d ", b[i]); i ++; }.
2021-04-19 20:16:06 156
原创 数组的定义和初始化
问题:为什么要使用数组? 如果我们读入两个学生的成绩并求其平均分, 那么只需要两个变量就可以轻松解决该问题. 那么如果读入100个学生的成绩并求其平均分, 那就需要定义100个变量并且要输入100次数据, 之后才能求解其平均成绩. 可能有人会说, 定义一个变量, 用100次循环将100个学生的成绩累加至求和变量中也可以求解平均成绩, 可如果日后要用这100个数据进行排序操作或求解100个数据中的最值, 我们就没有办法实现了.[程序实现]#include<stdio.h>...
2021-04-19 19:31:05 140
原创 猴子选大王(顺序表)
[程序代码]#include<stdio.h>#include<stdlib.h>/* 函数原型 */void Init(struct monkey *p, unsigned long n);unsigned long Game(struct monkey *p, unsigned long k, unsigned long n);void show(struct monkey *p, unsigned long num);/* 记录每只猴子的信息 */s..
2021-04-15 19:22:16 441 2
原创 猴子钦定大王(循环单链表)
[问题分析] 在"猴子选大王"问题的解决过程中, 我们给定猴子的数量和出圈报数k(从1开始报数, 数到k的猴子出圈, 下一只猴子再从1开始报数), 得到圈中所剩最后一只猴子的编号. 在"猴子钦定大王"问题中, 我们给定猴子的数量和圈中所剩最后一只猴子的编号, 得到最小的出圈报数k值. 这个问题不妨这样解决, 使用之前已写好的 f函数, 报数k值从2开始, 依次+1, 直到当前的出圈报数k值可以使圈中所剩最后一只猴子的编号和给定的编号相同, 此时即得到问题的解. ...
2021-04-14 23:44:41 193
原创 连续时间信号----宽度为2, 幅度为1的矩形脉冲信号的频谱
syms t;% 定义宽度为2, 幅度为1的矩形脉冲信号xt = heaviside(t + 1) - heaviside(t - 1);% 对x(t)进行傅里叶变换% X(jw)为x(t)的频谱函数X_jw = fourier(xt);% 该信号的频谱函数为实函数, 直接画其频谱图即可fplot(X_jw, [-30, 30], 'r-');%xlabel('w');ylabel('X(jw)');%legend('X(jw)');...
2021-04-12 21:59:16 2681 1
原创 连续时间信号----右边指数衰减信号的频谱
首先我们来看一下如何在Matlab中绘制单边指数衰减信号 x(t) = e^(-at) * u(t).% 绘制单边指数信号 x(t) = A * e^-at * u(t)A = 1;a = 0.8;% 在区间[-10, 10]上选取10000个采样点t = linspace(-10, 10, 10000);% 定义单边指数信号 x(t)xt = A * exp(- a * t) .* (t > 0);% 绘制单边指数信号的波形plot(t, xt, 'b-');%...
2021-04-12 21:48:00 3138
原创 使用Matlab求解连续时间(LTI)系统的冲激响应和阶跃响应
在Matlab中, 求解连续时间LTI系统冲激响应可应用控制系统工具箱提供的函数impulse, 求解阶跃响应可利用函数step. 其调用方式为 y = impulse(sys, t) y = step(sys. t)式中 t 表示计算系统响应的抽样点向量, sys是连续时间LTI系统模型. 下面举例说明其应用.% 连续时间LTI系统冲激响应的求解% 在区间[0, 10]上选取5000个点t = linspace(0,10, 50...
2021-04-12 20:53:03 12408
原创 使用Matlab求解连续时间系统的零状态响应
连续时间LTI系统以常系数微分方程描述, 系统的零状态响应可通过求解初始状态为零的微分方程得到. 在Matlab中, 控制系统工具箱提供了一个用于求解零初始条件微分方程数值解的函数lsim. 其调用方式为 y = lsim(sys, x, t)式中 t 表示计算系统响应的抽样点向量, x 是系统的输入信号向量, sys是连续时间LTI系统模型, 用来表示微分方程、差分方程或状态方程. 在求解微分方程时, 连续时间LTI系统模型 sys 要借助 tf 函数获得, 其调...
2021-04-11 15:20:48 12105
原创 从求解周期矩形脉冲信号的傅里叶级数表达式到初识Gibbs现象
[题目要求] 求下图所示周期矩形脉冲信号x(t)的傅里叶级数表达式, 并用Matlab求出由前N项傅里叶级数系数得出的信号近似波形.[分析] 上述周期矩形脉冲信号的频谱函数Cn = 0.5 * Sa(n * pi / 2), 由连续周期信号的傅里叶级数表达式可知, xN(t) = 0.5 + ∑n = (1, N) Sa(n * pi / 2) * cos(n * pi * t).[Gibbs现象简介] 一个连续周期信号可以表达为无限项虚指数信号的叠加, 但在实际...
2021-04-09 21:09:11 5305 1
原创 离散信号的Matlab表示
对任意离散序列x[k], 需用2个向量来表示. 一个表示k的取值范围, 另一个表示序列的值. 例如序列x[k] = {2, 1, 1(⬇), -1, 3, 0, 2}可用Matlab表示为 k = -2 : 4; x= [2, 1, 1, -1, 3, 0, 2];若序列从0开始, 则只用一个向量x就可表示序列. 由于计算机内存的限制, Matlab无法表示一个无穷长的序列.1. 指数序列 离散指数序列的一般形式为 a^k, 可以用Matlab中的...
2021-04-09 19:21:06 5871
原创 连续时间信号的Matlab表示
Matlab提供了大量的产生基本信号的函数. 最常用的指数信号、正弦信号是Matlab的内部函数, 即不安装任何工具箱就可调用.1. 指数信号 x(t) = A * e^at% 1. 指数信号 x(t) = A * e^at% 指数信号在Matlab中可用exp()函数表示% A = 1, a = -0.4 因果衰减指数信号A = 1; a = -0.4;% 在[0, 30]区间上选取5000个点t = linspace(0, 30, 5000);xt = A * exp(...
2021-04-09 17:03:29 1204
原创 用BW原型模拟低通滤波器 + 双线性变换法设计数字带通滤波器
题目要求: 使用双线性变换法及Butterworth模拟滤波器设计一个满足下列技术指标的数字带通滤波器(具体技术指标在程序开始处的注释中). [设计思路]选定抽样间隔 T -> 通过双线性变换法参数转换公式求得转换后的模拟带通滤波器指标wp1, wp2, ws1, ws2 -> 求得通带宽度B和参数w0 -> 确定原型低通滤波器的通带截频wp_和阻带截频ws_ -> 设计原型BW模拟低通滤波器 -> 将模拟低通滤波器转换为模拟带通滤波器 -> 根据双...
2021-04-08 21:24:26 2423
原创 使用Matlab实现脉冲响应不变法
Matlab提供的impinvar(num, den, Fs)函数可实现脉冲响应不变法的转换过程, 其调用形式为 [numd, dend] = impinvar(num, den, Fs); 式中num和den分别表示模拟滤波器系统函数H(s)的分子多项式系数和分母多项式系数, Fs是脉冲响应不变法中的抽样频率, 单位是Hz. 输出变量numd和dend分别表示数字滤波器的系统函数H(z)的分子多项式系数和分母多项式系数.[程序设计代码]% 使用Butterw...
2021-04-08 20:09:18 4403
原创 使用Matlab实现双线性变换法
[程序设计代码]% 使用CB I型模拟滤波器设计模板和双线性变换法, 设计数字低通滤波器% 技术指标Wp = 0.1 * pi;Ws = 0.4 * pi;Ap = 1;As = 25;% 取 T = 2T = 2;% 通过转换得到模拟滤波器的指标wp = 2 / T * tan(Wp / 2);ws = 2 / T * tan(Ws / 2);[N, wc] = cheb1ord(wp, ws, Ap, As, 's');[num, den] = cheby1(N, A...
2021-04-08 19:06:37 6583 1
原创 使用Matlab分析离散系统H(z)的频率响应
使用Matlab提供的freqz()函数可计算离散系统频率响应的抽样值. 一般情况下, 函数freqz()的返回值为复数, 使用Matlab提供的abs()、angle()函数可分别计算其幅度、相位.[程序设计代码(计算系统的幅度响应)]% H(z)的分子: (0.5009 - 1.0019z^-1 + 0.5009z^-2)(0.5320 + 1.0640z^-1 + 0.5320z^-2)% H(z)的分母: (1 - 0.8519z^-1 + 0.4167z^-...
2021-04-08 10:15:53 6875 1
原创 BW型模拟带通滤波器设计的Matlab仿真
试设计满足下列技术指标的BW型模拟带通滤波器:wp1 = 6 rad/s, wp2 = 8 rad/s, ws1 = 4 rad/s, ws2 = 11 rad/s, Ap <= 1dB, As >= 32 dB.[思路分析](1)根据带通滤波器的上下截频, 确定参数B和w0:B = wp2 - wp1, w0^2 = wp1 * wp2.(2)确定原型低通滤波器的通带截频wp_和阻带截频ws_:ws1_ = (ws1 * ws1 - w0 * w0) / (B * ws
2021-04-07 18:59:00 2332
原创 BW型模拟带阻滤波器设计的Matlab仿真
[例4-4] 试设计一个满足下列技术指标的BW型模拟带阻滤波器.wp1 = 6 rad/s, wp2 = 13 rad/s, ws1 = 9rad/s, ws2 = 11 rad/s, Ap <= 1dB, As >= 10dB.[问题分析](1)根据带阻滤波器的阻带上下截频, 确定带阻滤波器的阻带宽度B和带阻滤波器的中心频率w0,其中 B=ws2-ws1, wo^2=ws2·ws1;(2)确定原型低通滤波器的通带截频wp'、阻带截频ws':wp1' = (B·wp1)
2021-04-07 13:38:47 1527
原创 BW型、CB I型、CB II型和椭圆模拟低通滤波器设计的Matlab仿真
[题目要求]设计满足下列指标的模拟低通滤波器.fp=1kHz, fs=3kHz, Ap<=1dB, As>=50dB.[分析]Matlab信号处理工具提供了常用的设计模拟低通滤波器的函数. 无论是BW型、CB型还是椭圆模拟低通滤波器, Matlab提供了两个函数来实现其设计. 首先根据设计指标确定出相应模方函数中的参数, 然后由确定好的参数获得模拟低通滤波器的系统函数H(s). 在实际应用中, 可方便地调用这些函数完成模拟滤波器的设计.[解法1(使用BW型模拟低通滤波器模板)]
2021-04-07 11:24:05 2699 2
原创 猴子吃桃
[程序代码]#include<stdio.h>/* 函数原型 */unsigned long f(unsigned int n);/* */int main(){ int n; printf("Input days n:"); scanf("%d", &n); if(n >= 1) { printf("x=%d\n", f(n)); } else { /* 数据非法...
2021-04-04 16:32:12 184
原创 使用递归/迭代思想完成n层嵌套平方根的计算
#include<stdio.h>#include<math.h>/* 函数原型 */double f(double x, unsigned int n);/* */int main(){ double x; int n; printf("Please input x and n:"); scanf("%lf,%d", &x, &n); if(x >=0 && n >= 0) ...
2021-04-04 15:48:33 1302
原创 以多种不同的思想实现1+2+...+n的求和
[思路1(使用基本的递归思想完成计算)]#include<stdio.h>/* 函数原型 */unsigned long Sum(unsigned int n);/* */int main(){ int n; printf("Please input n:"); scanf("%d", &n); if(n >= 1) { printf("sum=%lu\n", Sum(n)); } else
2021-04-04 14:51:54 543
原创 浅谈普通递归和尾递归
[举例(计算阶乘)]#include<stdio.h>/* 用尾递归思想计算阶乘 */unsigned long Fact(unsigned int n, unsigned long a){ if(n == 0 || n == 1) { return a; } else { a = a * n; return Fact(n - 1, a); }}/* */int main()...
2021-04-02 11:32:55 2947
原创 C语言之多文件结构
在此之前, 我们都习惯于将一个程序所需的全部函数都放到一个.cpp文件中, 这是因为现阶段我们编写的程序往往只需要实现一个或几个简单的功能, 将这一个或几个函数放到一个.cpp文件中也不显得杂乱无章. 假设一个项目中一共有1000个函数, 这时如果还将所有函数放到一个文件中, 日后的维护会相当困难, 而且程序的可读性也很差. 更为重要的是, 这无法体现一个团队的分工合作精神. 假设现在需要开发一个(简单的)项目, 需要实现1+2+...+n和1*2*...*n的功能, 而且这个项目的开发...
2021-04-01 21:12:43 1723 1
原创 C语言之变量的生存期
问题: 编译器如何区分不同作用域中的同名变量? 编译器为不同作用域中的同名变量分配了不同的内存地址.[注]一个编译后的C程序可以使用的内存存储区主要有三块: 从内存的低地址端开始分别是 只读存储区、静态存储区和动态存储区, 这三块存储区有着不同的特点和用途.[注]在编译时, 编译器会为全局变量和静态变量在静态存储区中分配存储空间.问题: 什么是变量的存储类型? 在C语言中, 变量不仅有数据类型, 还有存储类型. 变量的存储类型不同于变量的作用域——变量的作用域决...
2021-04-01 11:50:49 555
74160功能实验.ms7
2019-11-14
异步一百进制加法计数器(两片74160构成).zip
2019-11-14
异步六进制加法计数器(上升沿触发).ms7
2019-11-14
异步十四进制加法计数器(上升沿触发)(D).zip
2019-11-14
异步十六进制加法计数器(上升沿触发)(D)(设计方案1、2).zip
2019-11-14
异步十进制加法计数器(上升沿触发)(D)(设计方案2).zip
2019-11-14
异步十进制加法计数器(上升沿触发)(D)(设计方案1).zip
2019-11-14
异步十二进制加法计数器(上升沿触发)(D).zip
2019-11-14
异步八进制加法计数器(上升沿触发)(D).zip
2019-11-14
同步六进制加法计数电路(D).zip
2019-11-13
电子表(时 分 秒)模型.zip
2019-11-13
同步十二进制加法计数器.zip
2019-11-13
同步六进制加减法可逆计数器(D).ms7
2019-11-12
同步八进制加法计数器.ms7
2019-11-12
同步1110序列检测电路.ms7
2019-11-12
同步1011序列检测电路.ms7
2019-11-12
同步110序列检测电路.ms7
2019-11-12
同步101序列检测电路.ms7
2019-11-12
基础电路分析全集(以北京交通大学课程资源为主, 大量细致推导, 约2万字).docx
2022-01-16
traffic_LED(Version2.0).zip
2019-12-16
同步六十进制加法计数器.zip
2019-11-12
同步五进制减法计数器.ms7
2019-11-12
同步四进制加法计数器(JK).ms7
2019-11-12
同步十六进制加法计数器.ms7
2019-11-12
同步十进制加法计数器(JK).ms7
2019-11-12
同步十进制加法计数器(D).ms7
2019-11-12
同步三十二进制加法计数器.ms7
2019-11-12
同步七进制加法计数器.ms7
2019-11-12
同步六进制加减法可逆计数器(JK).ms7
2019-11-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人