
C程
奋笔扬声
这个作者很懒,什么都没留下…
展开
-
排序总结
1.冒泡排序时间复杂度:O(n^2)for(int i=0;i<n-1;i++) { for(int j=i+1;j<n;j++) { if(a[i]>a[j]) { int tmp=a[i]; a[i]=a[j]; a[j]=tmp; } } }2.选择排序时间复杂度:O(n^2)for(int i=0;i&...原创 2019-06-06 22:32:35 · 128 阅读 · 0 评论 -
Recursion
递归今天上课讲了一些递归和迭代的例题 自己再写一遍#include<bits/stdc++.h>using namespace std; #define eps 1e-8int fact(int n){ if(n==1)return n; return n*fact(n-1);}int gcd(int a,int b){ if(b==0)return a; r...原创 2019-05-14 00:31:53 · 222 阅读 · 0 评论 -
预编译#和##
预编译时#和##号的功能1.#:字符串化加上# 预编译时自动加上双引号“ ”2.##:无缝连接可以把1(一)和23(二十三)连接成123(一百二十三)不能扩展3.举例////////##与#////////// #include<stdio.h>#define _CONS(a, b) a+b#define sat(x) abc##x#define cat(x...原创 2019-04-29 18:22:20 · 1153 阅读 · 0 评论 -
大作业二—行编辑器
翁恺老师的大作业二做一个行编辑器1.开始想用矩形框覆盖,后来想到用双向链表,鲁棒性超强。2.用了两个registerevent,开始啥也不懂,查看类看了许久才找到mouseevent和charevent,使用方法类似。event是按下为0,抬起为1,charevent返回一个char,似乎不能返回上下左右,于是同时用了一个keyevent可以返回上下左右bakespace箭头。3.用mou...原创 2019-04-19 11:04:59 · 525 阅读 · 0 评论 -
大作业二—绘图板
翁恺大作业二 画函数图像之前写的计算器没用到,自己有重写了一个,这次用了好多栈,感觉最失败的地方是没有事先构思好框架,一有bug就补一个判断,又产生新的bug,唉。代码:(中间注释的一大片是debug时写的,后来bug越弄越多,受不了了,就停工了。//2019.4.17 16:00--2019.4.18 0:30//2019.4.20 7:10--14:20//2019.4.21 17:...原创 2019-04-21 10:56:25 · 279 阅读 · 0 评论 -
大作业 多项式 纯链表实现
之前的多项式本质是数组实现的,而且转换了好几次,受内存空间限制,更难过的是又发现了不能正确算带小数系数的多项式的bug,修了一个小时无果。在一个月黑风高的夜晚,三千五跑完后偶遇求计学长,一番指点后决定重写。一个一个读入,边读边判断,重写了一下排序函数,现在可以了!//多项式加减乘//输入格式:x前面为系数,后面为次数 ;不必按次数输入,可打乱,可有空格(会过滤空格) //例如:x5+2x...原创 2019-04-05 00:35:08 · 170 阅读 · 0 评论 -
大作业:多项式
翁恺老师的大作业~实现多项式,之前的写代码没有抄,重新手打优化//多项式加减乘//输入格式:x前面为系数,后面为次数 ;不必按次数输入,可打乱,可有空格(会过滤空格) //例如:x5+2x3+2 表示x的五次方+2*x的三次方+2//输出格式:指数递增,正常格式 如上例:2+2x^3+x^5//BY Peter_H //2019.3.30 22:30--2019.3.31 2:30...原创 2019-03-31 13:09:49 · 200 阅读 · 0 评论 -
大作业:计算器
改掉了逆波兰表达式的一些bug如不能算小数等等现在是真正的计算器了!//功能强大的计算器//可计算加减乘除乘方阶乘,三角函数,反三角函数,自然对数,常用对数,高斯函数(floor),以e为底的指数函数(exp)//如果函数后面是非负常数则不必加括号 如sin5,arcsin0.5等;如果是表达式或负数则需加括号 如cos(-0.5),ln(5!) //BY Peter_H //15:0...原创 2019-03-29 20:10:02 · 1391 阅读 · 2 评论 -
PTA补题
翁恺老师实验课上没做出来的题补完放到这里 铭记1.一帮一题目链接 https://pintia.cn/problem-sets/1098941609422696448/problems/1098944260419956736题意:将名次最靠前的学生与名次最靠后的异性学生分为一组代码:#include&lt;stdio.h&gt;#include&lt;math.h&gt;#incl...原创 2019-03-15 15:00:03 · 692 阅读 · 0 评论 -
逆波兰表达式
逆波兰16:00~22:00花了好久好久学了一下这个东西逆波兰真的好强 //逆波兰后缀表达式 利用堆栈实现 堆栈用数组实现 #include<bits/stdc++.h>using namespace std;#define stack astackchar stack[500];//存符号 char out[500],in[500];//输出 输入 int dtop...原创 2019-03-08 22:01:36 · 213 阅读 · 0 评论 -
C中的细节问题
1. printf竖式问题的打印可以直接一句printf打印出来:printf("%5d\nX%4d\n-----\n%5d\n%-5d\n-----\n%5d\n\n",abc,de,x,y,z);效果:printf的原理 堆栈实现“参数从右到左依次入栈” int cnt=1; printf("#%d %d %d %d %d#\n",cnt++,cnt++,cnt++,cn...原创 2019-02-22 23:15:50 · 204 阅读 · 0 评论 -
趣味C
趣味C1.while(t–)2.const char ch[12][50] = {“Capricorn”,“Aquarius”,“Pisces”,“Aries”,“Taurus”,“Gemini”, “Cancer”,“Leo”,“Virgo”,“Libra”,“Scorpio”,“Sagittarius”};数组存字符串return puts(ch[0]) 返回字符串3.字符串 \0 表...原创 2018-12-09 01:05:29 · 155 阅读 · 0 评论 -
thanks!maomao~~
1.从原理出发2.scanf("%d",&a);sum = a;while(scanf("%c",&sign)){if(sign == ‘+’){scanf("%d",&b);sum += b ;}3.原创 2018-11-30 11:36:18 · 169 阅读 · 0 评论 -
结构数组和结构指针
数组名数组名可以作为数组第一个元素的指针。我们由数组和指针的关系知道,a代表这个地址数值,它相当于一个指针,指向第一个元素(&a[0]),即指向数组的首地址。数组中的其他元素可以通过a的位移得到,此时的进阶是以数组中单个的元素类型为单位的,即a+i= & a[i]。另外:(有关数组名取地址)&a代表的不是取a这个变量的地址,而是取数组的地址。虽然&a和a的内存...原创 2019-06-21 18:05:15 · 1762 阅读 · 0 评论