- 博客(18)
- 收藏
- 关注
原创 基于SysTick实现精准计时
SysTick是一个24位的递减计数器,并且捆绑在NVIC中,可以称为内核外设。在M3内核中,SysTick工作时钟选择位复位值为0,默认使用外部时钟源在F1的时钟树中可以发现,Cortex系统时钟是主时钟AHB的8分频,SysTick的工作时钟频率就是72/8 = 9MHZ。在M4内核中,SysTick似乎没有嵌套到NVIC中,而是作为一个独立的内核外设。注意M4的SysTick工作时钟的复位值不是0,而是1。
2024-05-07 16:14:10
461
原创 文件中字符串替换(c语言)
将一个C源文件中的单独占行的注释删除(即该行除了注释没有其它内容),并将结果输出到另一个文件中。不考虑注释嵌套情况。【输入形式】从file.in文件中读入该C语言源程序,源文件不超过100行,每行不超过100个字符。【输出形式】将删除要求注释的文件写入file.out文件中void MOVE(char str3[], int sz3, int stop, int k)//sz2<sz1{ int i = 0; int j = 0; int n = 0; for (j =
2022-05-07 16:05:21
2451
原创 逆波兰表达式(含小数)、C语言
#inlcude<stdio.h>#include<math,h>void Data_transformation(char input[], double sum[], int* pi, int* pj){ int i = 0; char str[100] = "\0"; while (input[*pi] != ' ') { str[i] = input[*pi]; (*pi)++; i++;.
2022-05-03 08:50:52
1292
原创 合并字符串(C语言)
编写一个函数void str_bin(char* str1, char* str2), str1、str2是两个有序字符串(其中字符按ASCII码从小到大排序,并且不含重复字符),将str2合并到字符串str1中,要求合并后的字符串仍是有序的,并且不含重复字符。在main函数中测试该函数:从键盘输入两个有序字符串,然后调用该函数,最后输出合并后的结果。【输入形式】分行从键盘输入两个有序字符串(不超过100个字符)【输出形式】输出合并后的有序字符串【输入样例】acegbdfh【输出样例】
2022-04-19 21:17:55
17929
2
原创 超长正整数的减法(C语言)
【问题描述】编写程序实现两个超长正整数(每个最长80位数字)的减法运算。【输入形式】从键盘读入两个整数,要考虑输入高位可能为0的情况(如00083)。1.第一行是超长正整数A;2.第二行是超长正整数B;【输出形式】输出只有一行,是长整数A减去长整数B的运算结果,从高到低依次输出各位数字。要求:若结果为0,则只输出一个0;否则输出的结果的最高位不能为0,并且各位数字紧密输出。【输入样例】234098134098703578230056【输出样例】-134098703...
2022-04-19 21:04:17
2434
原创 整数的N进制字符串表示(c语言)
【问题描述】编写函数itob(n,s,b),用于把整数n转换成以b为基的字符串并存储到s中. 编写程序,使用函数itob(n,s,b)将输入的整数n,转换成字符串s,将s输出.转换后的字符串从最高的非零位开始输出。如果n为负数,则输出的字符串的第一个字符为'-'。b为大于1小于37的任意自然数值。当b=2时,输出字符只可能是'0'和'1';当b=16时,输出字符串中可能含有字符为'0'-'9','a'-'f'(字母以小写输出)。b还可以是其它数值。比如输入n=33,b=17,则输出33的17进制值为..
2022-04-19 20:50:48
946
原创 任意多边形的面积(C语言)
【问题描述】给出平面上一组顶点的坐标,计算出它们所围成的凸多边形的面积。【输入形式】从标准输入读取顶点坐标。格式为:第一行是点的个数N(3<N<15),后面紧接着N行,每行两个数字 (由空格隔开),分别表示该点的X、Y坐标(0<X,Y<2767)。所有点的坐标互不相同,且按顺时针次序给出。输入数据确保该多边形是一个凸多边形。【输出形式】向标准输出打印一个浮点数,是该多边形的面积。该浮点数保留两位小数。【输入样例】4...
2022-04-19 20:46:17
2885
原创 c语言杨辉三角
三、【问题描述】在屏幕上显示如下杨辉三角形: 1 11 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5...
2022-04-04 21:19:45
1445
原创 c语言二维数组鞍点
【问题描述】求二维整型数组的"鞍点"。二维数组的"鞍点"定义为:某个数是所在行的最大值,并且是所在列的最小值。【输入形式】从控制台读入二维数组。第一行只有以空格分隔的两个正整数n和m(n,m<=10),n代表二维数组的行数,m代表二维数组的列数。然后在后续n行上输入二维数组的元素,每行有m个以若干空格分隔的整数,代表二维数组在该行上的所有元素。【输出形式】向控制台输出二维数组的"鞍点",按行下标、列下标从小到大的顺序输出,每行一个,先输出"鞍点"数值,再输出对应的行下标、列
2022-04-04 20:58:38
4143
原创 C语言扫雷
Game.h#define ROW 9#define COL 9#define ROWS ROW+2#define COLS COL+2//定义值#define EASY_COUNT 10#include<stdlib.h>//srand的头文件#include<time.h>//time的头文件#include<stdio.h>void InitBoard(char board[ROWS][COLS], int rows, i
2022-03-27 16:40:13
3754
原创 c语言计算数字位数,逆序输出
【问题描述】给出一个不多于5位的正整数,要求:1.求出它是几位数。2.分别打印出每一位数字。3.按照逆序打印出每一位数字。【输入形式】控制台输入该正整数。【输出形式】#include<stdio.h>int main(){ int t, n,x; scanf("%d", &n); t = n; for (int i = 1; i <= 5; i++) { t = t / 10; if...
2022-03-26 10:34:33
4092
原创 C语言正六边形的打印
编写一个程序,输入一个正整数N,在屏幕上用"*"打印以N为边长的正六边形。【输入形式】输入一个正整数N。【输出形式】屏幕上输出以N为边长的正六边形。#include<stdio.h>int main(){ int L,H,i,j,k,n,f1,o3,e=2,x=0,count=0,w=4,xxx=0;//H:行数,L:边长 scanf("%d", &L); for (i =1 ; i <= L-1; i++) { H...
2022-03-24 22:42:19
2666
原创 C语言三子棋
头文件:game.h#define ROW 3#define COL 3#include<stdio.h>#include<stdlib.h>//srand 的头文件#include<time.h>//time 的头文件//函数声明void InitBoard(char board[ROW][COL], int row, int col);void DisplayBoard(char board[ROW][COL], int row, in
2022-03-18 22:31:18
68
原创 C语言求ex的近似值
【问题描述】已知ex的近似值可由下面公式计算得出:ex=1 + x/1! + x2/2! + x3/3! + ...... + xn/n!给定x和n,利用上述公式求得ex的近似值。【输入形式】从控制台输入小数x,和整数n(n>=1),用空格隔开。【输出形式】向控制台输出求得的ex 的近似值(小数点后保留6位有效数据)。代码:#include<math.h>int main() { double x, e,f=1,n...
2022-03-17 20:24:47
7961
原创 C语言转换整数(四舍五入)
编写一个程序,当用户输入一个小数(正值浮点数)后,将小数转化为最近的整数输出(四舍五入)。【输入形式】用户在第一行输入一个小数【输出形式】用户在下一行显示输出结果【样例输入】代码:#include<stdio.h>int main(){ float i; float a = 0; scanf("%f", &i); a = i; if (a >= (0.5 + (int)i)) printf("%d", ...
2022-03-17 20:22:19
5212
2
原创 C语言日期天数转换
【问题描述】编写一个程序,用户输入日期,计算该日期是这一年的第几天。【输入形式】用户在第一行输入一个日期(年 月 日,中间以空格分割)【输出形式】程序在下一行输出一个整数代码:#include<stdio.h>int main(){ int y, m=0, d,x; scanf("%d%d%d", &y, &x, &d); switch (x-1) { case 11: m...
2022-03-13 19:04:16
2677
1
原创 C语言简易计算器
【问题描述】编程实现简易的计算器:读入两个整数运算数(data1和data2)及一个运算符(op),计算表达式data1 op data2的值,其中op可以是+,-,*,/。【输入形式】控制台输入运算数和运算符:1.首先输入以空格分隔的两个整数,分别是data1和data2;2.输入一个字符作为运算符op,op可以是'+','-','*','/'。输入时,data1、data2、op之间各留有一个空格。具体格式见样例输入。【输出形式】控制台输出运算结果。作除法运算时,若能够整..
2022-03-13 19:02:22
3810
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人