自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

俗集

嵌入式菜鸡成长之路

  • 博客(51)
  • 收藏
  • 关注

原创 推挽输出和开漏输出

1.如果在当前图的情况下要输出高电平,那么P-MOS导通,N-MOS截止,VDD的电压就会传递过去使其输出高电平2.如果要输出低电平,那么N-MOS导通,P-MOS截止,相当于引脚直接接地输出低电平。

2023-02-24 16:23:49 821

原创 51单片机入门——矩阵键盘(附51代码)

首先我们先让一行为低电平,其他行为高电平(此时我们确定了行数),然后立即检测各列是否有低电平,如果检测到低电平(此时确定了列数),那我们就知道了当前被按下的是哪一行哪一列,然后用同样的方法,一直保持扫描。

2023-02-12 23:52:31 10520 1

原创 习题11-8 单链表结点删除

【代码】习题11-8 单链表结点删除。

2023-01-07 13:41:24 330

原创 习题11-7 奇数值结点链表

提取链表奇数结点

2023-01-07 10:56:14 289

原创 习题11-6 查找子串

【代码】习题11-6 查找子串。

2023-01-06 15:02:21 325

原创 习题10-4 递归求简单交错幂级数的部分和

【代码】习题10-4 递归求简单交错幂级数的部分和。

2022-11-26 15:56:38 250

原创 习题8-3 数组循环右移

2.当mn的问题转化成m

2022-11-26 15:14:55 240

原创 习题8-10 输出学生成绩(动态内存分配实现)

【代码】习题8-10 输出学生成绩(动态内存分配实现)

2022-11-23 14:42:05 650

原创 51单片机入门——独立按键控制LED状态

1. 按键的抖动软件消抖:利用延时消除抖动程序代码#include<REGX52.H>void delay(unsigned int xms) //用生成的1ms的函数改造的自定义延时时间的函数{ unsigned char i, j; while(xms>0){ i = 2; j = 239; do { while (--j); } while (--i); xms--; }}void main(){ while(1){

2022-05-29 10:59:11 394

原创 习题7-8 字符串转换成十进制整数 (15 分)

输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“-”,则代表该数是负数。输入格式:输入在一行中给出一个以#结束的非空字符串。输出格式:在一行中输出转换后的十进制数。题目保证输出在长整型范围内。输入样例:±P-xf4±1!#输出样例:-3905#include<stdio.h>#include<math.h>int main() {

2022-03-03 13:57:01 571

原创 PTA_习题7-7 字符串替换 (15 分)

本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:原字母 对应字母A ZB YC XD W… …X CY BZ A输入格式:输入在一行中给出一个不超过80个字符、并以回车结束的字符串。输出格式:输出在一行中给出替换完成后的字符串。输入样例:Only the 11 CAPItaL LeTtERS are replaced.输出样例:Lnly the 11 XZKRtaO OeGtVIH are replaced.#include<st

2022-03-02 15:58:48 524

原创 习题7-5 找鞍点 (20 分)

一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。本题要求编写程序,求一个给定的n阶方阵的鞍点。输入格式:输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。输出格式:输出在一行中按照“行下标 列下标”(下标从0开始)的格式输出鞍点的位置。如果鞍点不存在,则输出“NONE”。题目保证给出的矩阵至多存在一个鞍点。输入样例1:41 7 4 14 8 3 61 6 1 20 7 8 9输出样例1:2 1输入样例2:21

2022-03-02 10:42:41 203

原创 习题7-3 判断上三角矩阵

上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。本题要求编写程序,判断一个给定的方阵是否上三角矩阵。输入格式:输入第一行给出一个正整数T,为待测矩阵的个数。接下来给出T个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数n。随后n行,每行给出n个整数,其间以空格分隔。输出格式:每个矩阵的判断结果占一行。如果输入的矩阵是上三角矩阵,输出“YES”,否则输出“NO”。输入样例:331 2 30 4 50 0 621 0-8 231 2

2021-12-24 17:14:14 126

原创 习题7-2 求一批整数中出现最多的个位数字

给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。输入格式:输入在第1行中给出正整数N(≤1000),在第二行中给出N个不超过整型范围的非负整数,数字间以空格分隔。输出格式:在一行中按格式“M: n1 n2 …”输出,其中M是最大次数,n1、n2、……为出现次数最多的个位数字,按从小到大的顺序排列。数字间以空格分隔,但末尾不得有多余空格。输入样例:31234 2345 3456输出

2021-12-24 11:40:53 204

原创 练习7-7 矩阵运算

练习7-7 矩阵运算给定一个n×n的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。输入格式:输入第一行给出正整数n(1<n≤10);随后n行,每行给出n个整数,其间以空格分隔。输出格式:在一行中给出该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。输入样例:42 3 4 15 6 1 17 1 8 11 1 1 1输出样例:35#include<stdio.h>int main(

2021-12-19 10:05:06 144

原创 练习7-4 找出不是两个数组共有的元素 (20 分)

练习7-4 找出不是两个数组共有的元素 (20 分)给定两个整型数组,本题要求找出不是两者共有的元素。输入格式:输入分别在两行中给出两个整型数组,每行先给出正整数N(≤20),随后是N个整数,其间以空格分隔。输出格式:在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但行末不得有多余的空格。题目保证至少存在一个这样的数字。同一数字不重复输出输入样例:10 3 -5 2 8 0 3 5 -15 9 10011 6 4 8 2 6 -5 9 0 100 8 1输出样例:

2021-12-18 16:16:55 147

原创 练习7-2 求最大值及其下标

题目要求练习7-2 求最大值及其下标 (20 分)本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。输入格式:输入在第一行中给出一个正整数n(1<n≤10)。第二行输入n个整数,用空格分开。输出格式:在一行中输出最大值及最大值的最小下标,中间用一个空格分开。输入样例:62 8 10 1 9 10结尾无空行输出样例:10 2代码#include<stdio.h>int main(){ int n; scanf("%d

2021-12-15 10:49:48 1714

原创 习题6-5 使用函数验证哥德巴赫猜想

本题要求实现一个判断素数的简单函数,并利用该函数验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。函数接口定义:int prime( int p );void Goldbach( int n );其中函数prime当用户传入参数p为素数时返回1,否则返回0;函数Goldbach按照格式“n=p+q”输出n的素数分解,其中p≤q均为素数。又因为这样的分解不唯一(例如24可以分解为5+19,还可以分解为7+17),要求必须输

2021-12-12 20:54:15 292

原创 习题6-3 使用函数输出指定范围内的完数

本题要求实现一个计算整数因子和的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m≤n≤10000)之间的所有完数。所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。函数接口定义:int factorsum( int number );void PrintPN( int m, int n );其中函数factorsum须返回int number的因子和;函数PrintPN要逐行输出给定范围[m, n]内每个完数的因子累加形式的分解式,每个完数

2021-12-12 10:08:48 203

原创 习题5-8 空心的数字金字塔

本题要求实现一个函数,输出n行空心的数字金字塔。函数接口定义:void hollowPyramid( int n );其中n是用户传入的参数,为[1, 9]的正整数。要求函数按照如样例所示的格式打印出n行空心的数字金字塔,请注意,最后一行的第一个数字前没有空格。裁判测试程序样例:#include <stdio.h>void hollowPyramid ( int n );int main(){int n;scanf("%d", &n);hollowPyramid (

2021-12-10 11:28:47 478

原创 习题5-7 使用函数求余弦函数的近似值

本题要求实现一个函数,用下列公式求cos(x)的近似值,精确到最后一项的绝对值小于e:cos(x)=x0/0!−x2/2!+x4/4!−x6/6!+⋯函数接口定义:double funcos( double e, double x );其中用户传入的参数为误差上限e和自变量x;函数funcos应返回用给定公式计算出来、并且满足误差要求的cos(x)的近似值。输入输出均在双精度范围内。裁判测试程序样例:#include <stdio.h>#include <math.h>

2021-12-10 09:49:26 3510 1

原创 习题5-6 使用函数输出水仙花数

水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33。 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。函数接口定义:int narcissistic( int number );void PrintN( int m, int n );函数narcissistic判断number是否为水仙花数,是则返回1,否则返回0。函数PrintN则打印开区间(m, n)内所有的水仙花数

2021-12-09 18:36:31 181

原创 习题4-11 兔子繁衍问题

一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?输入格式:输入在一行中给出一个不超过10000的正整数N。输出格式:在一行中输出兔子总数达到N最少需要的月数。输入样例:30结尾无空行输出样例:9结尾无空行分析过程#include<stdio.h>int main() { int N; scanf("%d",&N);

2021-12-08 10:53:06 94

原创 习题4-9 打印菱形图案

本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。输入格式:输入在一行中给出一个正的奇数n。输出格式:输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。输入样例:7结尾无空行输出样例: * * * * * * * * 结尾无空行`#include<stdio.h>#include<math.h>int main(){ int n; scanf("%d",&n); int z=n-1; int

2021-12-07 11:33:45 1311

原创 习题4-6 水仙花数

水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33。 本题要求编写程序,计算所有N位水仙花数。输入格式:输入在一行中给出一个正整数N(3≤N≤7)。输出格式:按递增顺序输出所有N位水仙花数,每个数字占一行。输入样例:3结尾无空行输出样例:153370371407结尾无空行#include<stdio.h>#include<math.h>int square(int x,int N){ //

2021-12-06 17:57:21 87

原创 习题4-2 求幂级数展开的部分和

已知函数ex可以展开为幂级数1+x+x2/2!+x3/3!+⋯+xk/k!+⋯。现给定一个实数x,要求利用此幂级数部分和求ex的近似值,求和一直继续到最后一项的绝对值小于0.00001。输入格式:输入在一行中给出一个实数x∈[0,5]。输出格式:在一行中输出满足条件的幂级数部分和,保留小数点后四位。输入样例:1.2结尾无空行输出样例:3.3201#include<stdio.h>#include<math.h>double factorial(int z){

2021-12-06 08:49:19 1228

原创 练习4-11 统计素数并求和

本题要求统计给定整数M和N区间内素数的个数并对它们求和。输入格式:输入在一行中给出两个正整数M和N(1≤M≤N≤500)。输出格式:在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。输入样例:10 31结尾无空行输出样例:7 143结尾无空行//素数 除了自己之外只能被1整除; #include<stdio.h>int primenumber(int x){ for(int z=2;z<=x;z++){ if(x==2) return 2

2021-12-05 11:43:16 289

原创 练习4-10 找出最小值

本题要求编写程序,找出给定一系列整数中的最小值。输入格式:输入在一行中首先给出一个正整数n,之后是n个整数,其间以空格分隔。输出格式:在一行中按照“min = 最小值”的格式输出n个整数中的最小值。输入样例:4 -2 -123 100 0结尾无空行输出样例:min = -123结尾无空行#include<stdio.h>#include<math.h>int main() { int n; scanf("%d",&n); int extr

2021-12-05 09:18:27 1383

原创 练习4-6 猜数字游戏

猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结

2021-12-04 16:43:02 70

原创 练习4-3 求给定精度的简单交错序列部分和 (15 分)

本题要求编写程序,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + … 直到最后一项的绝对值不大于给定精度eps。输入格式:输入在一行中给出一个正实数eps。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。输入样例1:4E-2结尾无空行输出样例1:sum = 0.854457结尾无空行输入样例2:0.02输出样例2:sum = 0.826310#include<stdio.h>#in

2021-12-04 15:28:11 84

原创 习题3-5 三角形判断 (15 分)

给定平面上任意三个点的坐标(x1​,y1​)、(x2​,y2​)、(x3​,y3​),检验它们能否构成三角形。输入格式:输入在一行中顺序给出六个[−100,100]范围内的数字,即三个点的坐标x1​、y1​、x2​、y2​、x3​、y3​。输出格式:若这3个点不能构成三角形,则在一行中输出“Impossible”;若可以,则在一行中输出该三角形的周长和面积,格式为“L = 周长, A = 面积”,输出到小数点后2位。输入样例1:4 5 6 9 7 8结尾无空行输出样例1:L = 10.13

2021-12-04 11:37:17 117

原创 习题3-2 高速公路超速处罚 (15 分)

浙大版《C语言程序设计(第4版)》题目集按照规定,在高速公路上行使的机动车,达到或超出本车道限速的10%则处200元罚款;若达到或超出50%,就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理.输入格式:输入在一行中给出2个正整数,分别对应车速和限速,其间以空格分隔。输出格式:在一行中输出处理意见:若属于正常行驶,则输出“OK”;若应处罚款,则输出“Exceed x%. Ticket 200”;若应吊销驾驶证,则输出“Exceed x%. License Revoked”。其中x是超

2021-12-02 17:37:00 96

原创 练习3-8 查询水果价格

#include<stdio.h>int main(){ printf("[1] apple\n[2] pear\n[3] orange\n[4] grape\n[0] exit\n"); int sum=0; int number; for(int i=1;i<=5;i++){ scanf("%d",&number); if(number==0){ break; }; //特殊情况 switch(number){ case 1:prin

2021-12-02 11:10:05 194

原创 练习3-5 输出闰年

#include<stdio.h>int main(){ int year; scanf("%d",&year); if(year<2000||year>2100){ printf("Invalid year!"); }else if(year<2004){ printf("None"); }else{ for(int i=2004;i<=year;i+=4){ if((i%4==0.

2021-12-02 09:30:34 540

原创 PAT刷题笔记——基础编程题目集

6-3 简单求和错误代码int Sum ( int List[], int N ){ for(int i=0;i<N;i++){ int Sum=0; Sum=Sum+List[i]; } return Sum;}正确答案int Sum ( int List[], int N ){ int Sum=0; for(int i=0;i<N;i++){ Sum=Sum+List[i]; } return

2021-10-26 18:45:53 1545

原创 C语言教程-day1-数据类型

一.数据类型基本类型:整型–int、字符型–char、实型(浮点型)–单精度实型float,双精度实型double构造类型–数组类型–[ ],结构类型–struct,联合类型–union,枚举类型–enum指针类型–*空类型(无值类)–void二.常量不能改变的量整型,100,0,-10实型,3.12,0.1125,-3.21字符型,‘a’, ‘2’,必须单引号,里面必须有字符字符串型,“a”, “ab”,“1c23”,必须双引号,里面没有字符就是空串三.变量代码段在执行时候只读

2021-06-09 18:53:28 349

原创 Week8 指针与字符串

一.指针1.有关的运算符运算符sizeof是一个运算符,给出某个类型或变量在内存中所占据的字节数;sizeof(int) //int占据几个字节size(i) // i这个变量占据几个字节运算符&scanf("%d",&i)里的&获得变量的地址,它的操作数必须是变量-int i;printf("%x",&i);示例输出结果:%p 按16进制输出数据&不能取的地址&不能对没有地址的东西取地址-&

2021-05-18 20:49:32 173

原创 week 7 c语言入门——数组运算

一、数组运算1.初始化数组的方式方式1 for(i = 0; i < number;i++) //{ count[i] = 0; //初始化数组}方式2int count[number] = {0};2.集成初始化时的定位only c99;3.数组的大小sizeof给出整个数组所占据的内容的大小,单位是字节sizeof(a[0])给出数组中单个元素的大小,于是相除就得到了数组的单元个数这样的代码,一旦修改数组中初始的数据,不需要修改遍历的

2021-05-05 18:10:47 959

原创 Week 6 c语言入门——函数

一.例子#include<stdio.h>void sum(int begin,int end){ int i; int sum = 0; for (i = begin; i <= end; i++) { sum+= i; } printf("%d到%d的和是%d\n",begin ,end,sum);}int main(){ sum(1, 10); sum(20, 30); sum(30, 45);}void sum就是我们自己定义的一个加法函

2021-04-23 14:23:32 261

原创 Week 6 c语言入门——数组

1.数组定义——是一种容器特点其中所有元素具有相同的数据类型;一旦创建,不能改变大小;*(数组中元素的内存是依次排列的2.int a[10]3.数组的单元4.有效的下标范围c99之后可以用变量做个数,日常使用...

2021-04-17 15:21:00 115

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除