-
个人简介
全平台肘击桑境阳,支持者复制红字挂主页
全平台肘击桑境阳,支持者复制红字挂主页
5201314 = (114514+114514)*(1*14+5-1+4)+(114514+(11451*4+(114*5*1*4+(1*(1+4)*5*1*4))))
# 有需要可以Copy(主要方便我自己)
set & map
set<int> st; map<string,int> mp; mp[key] = value;//插入键值
随机数造数据
#include using namespace std; int main(){ freopen( "test.in" , "w" , stdout ); srand( int ( time ( 0 ) ) ); int n, m, p, a; n = rand() % 10000; m = rand() % 10000; cout << m << endl; cout << n << endl; while( m-- ){ p = rand() % 10000; a = rand() % 10000; cout << p << ' ' << a << endl; } fclose( stdout ); }
万能开头:
#include<bits/stdc++.h> using namespace std; int main(){ }
关于vector:
vector<int> v;//创建一个空vector v.push_back(x)//向尾部增加一个元素x v.insert(pos,x)//向pos地址指向元素前增加一个元素x v[i]//访问第i位元素 v.pop_back()//删除向量中最后一个元素 v.clear()//清空向量中所有元素 v.empty()//判断向量是否为空 v.size()//返回向量中元素的个数 v.begin()//返回量头指针(迭代器),指向第一个元素 v.end()//返回量尾指针(迭代器),指向第一个元素+1位置 v.erase(v.begin()+i)//删除第i位位置的元素
全排列函数:
next_permutation(数组头地址,数组尾地址);//求下一个全排列 prev_permutation(数组头地址,数组尾地址);//求上一个全排列
排列数组(sort函数):
sort(a(begin),a(end)+size);//默认小到大 sort(a(begin),a(end)+size,greater<int>());//大到小 sort(a(begin),a(end)+size,less<int>());//小到大
与字符相关的函数
getchar()//输入单个字符 putchar()//输出单个字符 islower(x)//判断x是否为小写字母 isupper(x)//判断x是否为大写字母 isdigit(x)//判断x是否为数字 isalpha(x)//判断x是否为字母
builtin内建函数
__builtin_ffs(x)//返回x中最后一个为1的位是从后往前的第几位 __builtin_popcount(x)//x中1的个数 __builtin_ctz(x)//x末尾0的个数,x=0时结果未定义 __builtin_clz(x)//x前导0的个数,x=0时结果未定义 __builtin_parity(x)//x中1的奇偶性 ```二分查找核心代码 ```none int dp[30000]; int n; int fun(int k){ int l=0,r=n-1,m=l+r/2; while(l<r){ if(k==dp[m]){ return m; }else if(k>dp[m]){ l=m+1; }else{ r=m-1; } } return -1; }
最大公因数&最小公因数
a=al*gcd(a,b) b=bl*gcd(a,b) lcm(a,b)=al*gcd(a,b)*bl a*b=gcd(a,b)*lcm(a,b)
斐波那契数列
int dfs( int a ){ if( a == 1 || a == 2 ){ return 1; } return dfs( a - 1 ) + dfs( a - 2 ); }
二分查找法
binary__search()![]
#include<bits/stdc++.h> using namespace std; int n, q; string s[1000]; bool find( string a , int len , int k){//s[k]------------被查找 if( s[k].size() < len ){ return false; } for( int i = s[k].size() - len,i1 = 0; i < s[k].size(); i++ , i1++ ){ if( s[k][i] != a[i1] ){ return false; } } return true; } bool cmp( string a, string b ){ if( a.size() == b.size() ){ return a < b; }else{ return a.size() < b.size(); } } int main() { cin >> n >> q; for( int i = 0; i < n; i++ ){ cin >> s[i]; } sort( s, s+n ,cmp); for( int i = 0; i < q; i++ ){ int a; cin >> a; string str; cin >> str; bool flag = true; for( int i = 0; i < n; i++ ){ if( find(str,a,i) ){ cout << s[i] << endl; flag = false; break; } } if( flag ){ cout << -1 << endl; } } return 0; }
·解决了自身逻辑意义的完整性。(补码表示的数相加时,如果最高位(符号位)有进位,这个进位会被 舍弃) 位运算符(&,|,~,<<,>>) & 按位与(同时为1,则为1) 101011 010011 -------- 000011 | 按位或(有一个1,则为1) 101011 010011 -------- 111011 ~ 按位取反(转补码,取反(含符号位),-1,符号位不变取反) ~2 原码:0 0010 补码:0 0010 取反:1 1101 减一:1 1100 符号位不变取反: 1 0011 = -3 eg:(1010)B——>对应的格雷码为: 1010 + 1010 ———— 11110 舍弃最后一位,得对应的格雷码为1111。 下拉异惑(格——>二) 方法:把格雷码写一遍,下拉第一位,与最后一位异或, 直至最后一位结束,即可得到的对应的二进制数。 最后,运算符的优先级 ·大致按照以下
-------------线性结构------------ 1.数组 2.链表 3.栈 4.队列 -------------非线性结构--------- 5.堆 6.树 7.图 8.散列表 --------
数组:优点:元素在地址上连续查找元素非常快缺点:长度不可变,需要在创建时指定插入、删除元素效率较低链表:(单向链表 双向链表 循环链表单向链表有一个head(头指针),单向链表每个节点分为两个部分data(数据),next/rlink代表下一个地址双向链表:有三个空间,pre上一个地址,data数据,next下一个地址循环链表:尾指针的下一个地址指向第一个元素单向链表头节点插入LinkList p=new LNode;//申请空间p->data=item;//存入数据p->link=list;//让p指向头指针指向的节点list=p;//让头指针指向p
单向链表 尾部插入:while(r->link!=NULL){r=r->link;}Linklist p=new LNode;//申请空间p->data=iteml;//存入数据p=NULL;r->link=p;//r指向的下一个为p单向链表删除:while(r->link!=q&&r->link!=NULL){r->link=q->link;}free(q);//删除(释放q)双向链表插入:p->llink=q;//p指向的上一个节点是qp->rlink=q->rlink;//p的下一个节点=q指向的的下一个节点q->rlink->llink=p;//q指向的下一个节点=q指向的上一个节点是pq->rlink=p;//q的下一个节点是q双向链表删除:q->llink->rlink=q->rlink;q->rlink->llink=q->llink;free(q)//delete(q);
队列:(先进先出)queue<int> q;//队列申请q.front()//获取队首元素q.push()//入队q.pop()//出队首元素栈:(先进后出)stack<int> s;//创建s.top()//获取栈顶元素s.push()//推入栈s.pop()//出栈
string快读快写
#include<bits/stdc++.h> #define f_Getchar() getchar() #define f_Putchar(ch) putchar(ch) using namespace std; // string 整行快速读入 inline void inputs(char *s){ char ch = f_Getchar(); //获取字符串 while(ch=='\n'){ ch = f_Getchar(); } while(ch!='\n'){ *s = ch; ++s; ch = f_Getchar(); } *s ='\0'; return; } int main(){ char s[100]; inputs(s); // 字符数组转成字符串 string c(s); cout<<c; }
快读和快写
#include<bits/stdc++.h> using namespace std; inline int read(){//快读 register int x=0,t=1; register char ch=getchar(); while(ch<'0'||ch>'9'){ if(ch==' '||ch==\n){ t--; } ch=getchar(); } while(ch<'0'||ch>'9'){ //x=x*10+ch-'0'; x=(x<<1)+(x<<3)+(ch^48); ch=getchar(); } return x*t; } inline int super_read(char s[]){ int tot=0; char ch=getchar(); while(ch==' '||ch==\n){ ch=getchar(); } while(ch!=' '||ch!=\n){ s[tot++]=ch; ch=getchar(); } //return ; } inline void write(){//快写 register int x=0,t=1; if(x<0){ putchar(' '); x=-x; } if(x>9){ write(x/10); } putchar(x%10+'0'); return; } int main(){ return 0; }
bitset2
将字符串转成数字: 1.借用bitset将01字符串变成无符号整数 string a = "1001"; bitset<64> b(string("1001")) bitset<64> b(a) cout<<b.to\_ulong() 2.用sscanf() 函数把字符数组里面的字符串打印到数值变量里面 int buf; sscanf("123456","%d",&buf) printf("%d\\n",buf) 3.用sprintf()把数据打印到字符数组里面 char s[100] sprintf(s,"%d",123) 4.用直接的方式 string s = "1234"; int n = 0; for(int i = 0;i<4;i++){ n = n\*10+s[i]-'0'; } 5.一般用法 char buf[512] = ; sscanf("123456 ", "%s", buf); printf("%s\\n", buf); 结果为:123456 1. 取指定长度的字符串。如在下例中,取最大长度为4字节的字符串。 sscanf("123456 ", "%4s", buf); printf("%s\\n", buf); 结果为:12342. 取到指定字符为止的字符串。如在下例中,取遇到空格为止字符串。 sscanf("123456 abcdedf", "%[^ ]", buf); printf("%s\\n", buf); 结果为:123456 3. 取仅包含指定字符集的字符串。如在下例中,取仅包含1到9和小写字母的字符串。 sscanf("123456abcdedfBCDEF", "%[1-9a-z]", buf); printf("%s\\n", buf); 结果为:123456abcdedf 4. 取到指定字符集为止的字符串。如在下例中,取遇到大写字母为止的字符串。 sscanf("123456abcdedfBCDEF", "%[^A-Z]", buf); printf("%s\\n", buf); 结果为:123456abcdedf 5、给定一个字符串iios/12DDWDFF@122,获取 / 和 @ 之间的字符串,先将 "iios/"过滤掉,再将 非'@'的一串内容送到buf中 sscanf("iios/12DDWDFF@122", "%\*[^/]/%[^@]", buf); printf("%s\\n", buf); 结果为:12DDWDFF 6、给定一个字符串"hello, world",仅保留"world"。(注意:“,”之后有一空格) sscanf("hello, world", "%\*s%s", buf); printf("%s\\n", buf); 结果为:world P.S. %\*s表示第一个匹配到的%s被过滤掉,即hello,被过滤了,如果没有空格则结果为 NULL
bitset
#include<iostream> #include<bitset> using namespace std; /* bitset<N> varm(M) 用于处理进制 N 代表占的位数 varm 代表bitset名 M变量的初始值 bitset头文件: #include<bitset> bitset例子: bitset<32> b; 相关STL函数: b.any() 当bitset对象的一位或多个位被设置为1 时any()返回true 用途:检测总开关是否全被关闭状态 b.none() 如果bitset 对象的所有位都被设置为0 ,则none()操作返回true 用途:检测总开关是否全被关闭状态(出现一个没关false) b.count() count()操作返回被设置为1的位的个数. b.set() 我们可以用set()操作或者下标操作符来设置某个单独的位 b.test(位置) 测试某个单独的位是否为1 if(b.test(2)) 返回真测试第二位是否为1 b.reset(x) 把x位设置为0 b.flip() 操作翻转整个bitset 对象或一个独立的位 b.flip( 0 ); // 翻转第一位 b[0].flip(); // 也是翻转第一位 b.flip(); // 翻转所有的位的值 size():返回大小(位数)。 to_ulong():返回它转换为unsigned long的结果,如果超出范围,则报错。 to_string():返回它转换为string的结果。 */ bitset<32> b(12); // 000000000000000000000000000000000000001100 int main(){ // string s; // cin>>s; // int len = s.size(); // for(int i = 0;i<len-1;i++){ // ans+=(s[i]-'0')*pow(2,len-i-1); // cout<<ans<<endl; // } cout<<b<<endl; bool c = b.any(); bool k = b.none(); cout<<c<<" "<<k<<endl; //偶数位数设为1会变成什么 for(int i = 0;i<32;i++){ if(i%2==0){ b[i]=1; } } // int m = b.count(); cout<<b<<endl; if(b.test(13)){ cout<<"第13位是1"; } else{ cout<<"第13位是0"; } b.reset(4); cout<<endl<<b<<endl; b.flip(0); b.flip(2); b[6].flip(); cout<<"翻转第一位后的结果:"; cout<<endl<<b<<endl; cout<<"把整个bitset翻转:"<<endl; b.flip(); cout<<endl<<b<<endl; int l = b.to_ulong(); cout<<"改变后的进制转成数字"<<l; }
最值
/* max_element(begin,end);返回最小值的地址 min_element(begin,end);返回最大值的地址 begin:序列的起始地址 end:序列的结束地址+1 cout<<*(max_element(begin,end)); 地址-数组名=元素下标 */
vector
/* vector<int> v;//创建一个空vector v.push_back(x)//向尾部增加一个元素x v.insert(pos,x)//向pos地址指向元素前增加一个元素x v[i]//访问第i位元素 v.pop_back()//删除向量中最后一个元素 v.clear()//清空向量中所有元素 v.empty()//判断向量是否为空 v.size()//返回向量中元素的个数 v.begin()//返回量头指针(迭代器),指向第一个元素 v.end()//返回量尾指针(迭代器),指向第一个元素+1位置 v.erase(v.begin()+i)//删除第i位位置的元素 */
char和string
/* // 单个字符 char c = getchar(); // 输入单个字符 putchar(c);// 输出单个字符 islower(c);// 判断c是否为小写字母 isupper(c);// 判断c是否为大写字母 isalpha(c);// 判断是否为字母 isdigit(c);// 判断是否为数字 // 字符数组 '\0' // 字符数组最后一个:ASCII值:0 char str[]; cin>>str; // 可以作为一个整体进行cin,cout cout<<str; str ="sdfa";// 可以直接用字符串赋值 // 字符数组常用处理函数: char str[100]; // char *str puts(str); // 输出字符串 gets(str);// 输入一整行字符串(包括空格,已弃用) fgets(str,100,stdin) // 将标准输入中长度最多为100的字符串输入到 str strcat(str1,str2) // 把str2连接到str1后面 strcmp(str1,str2) // 比较两个字符串,正数:1大;0:一样大,负数:2大 strlen(str) // 获取字符串长度(不包括'\0') // string #include<string> // 字符串头文件 = 可以重新赋值 += 尾部加入字符串 + 连接字符串 ==,!=,<,>,<=,>= 字符串的比较 [] 存取单一字符 getline(cin,str) // 输入(包括空格,enter键结束) str.substr(i,1) // 从i开始截取,截取长度为1的子字符串 str.find(str2) // 在str字符串中去找到str字符串 str.rfind(str2) // str中查找str2,返回所在的下标,没找到返回string::npos str.erase(i,1) // 第i个字符开始往后面去删除 str.inser(i,str2) // 在个位置 cun << // 输出 str.substr(i, l); // 从i开始,截取长度为l的子字符串 str.find(str2); // 在str中查找str2,返回所在的下标,没找到返回string::npos str.rfind(str2); // 同find,但是从右向左找 str.erase(i, l); // 从i开始,删除长度为l的子字符串 str.insert(i, str2); // 在i的位置前,插入str2 str.size(); // 获取str的长度 str.c_str(); // 获取str对应的char[] str.begin(); // 获取str的首地址 str.end(); // 获取str的尾地址(最后一个元素后面) */
快速排序
#include<bits/stdc++.h> using namespace std; vector<long long> v; int i,j,temp; void quicksort(int l,int r){ if(l>r){ return; } temp=v[l]; i=l; j=r; while(i!=j){ while(v[j]>=temp&&i<j){ j--; } while(v[i]<=temp&&i<j){ i++; } if(i!=j){ swap(v[i],v[j]); } } swap(v[l],v[j]); quicksort(l,j-1); quicksort(i+1,r); } int main(){ int n,x,cnt; cin>>n; for(int i=0;i<n;i++){ cin>>x; v.push_back(x); } quicksort(0,n-1); for(int i=0;i<n;i++){ cout<<v[i]<<' '; } return 0; }
归并排序
#include<bits/stdc++.h> using namespace std; vector<int> s1,s2; void marge(int l,int m,int r){ s2.clear(); int i=l,j=m+1; while(i<=m&&j<=r){ if(s1[i]<s1[j]){ s2.push_back(s1[i++]); }else{ s2.push_back(s1[j++]); } } while(i<=m){ s2.push_back(s1[i++]); } while(j<=r){ s2.push_back(s1[j++]); } for(i=l;i<=r;i++){ s1[i]=s2[i-l]; } } void margesort(int a,int b){ if(a==b){ return; } int m=(a+b)/2; margesort(a,m); margesort(m+1,b); marge(a,m,b); } int main(){ int n,x; cin>>n; for(int i=1;i<=n;i++){ cin>>x; s1.push_back(x); } margesort(0,n-1); for(int i=0;i<n;i++){ cout<<s1[i]; } return 0; }
选择排序
#include<bits/stdc++.h> using namespace std; void fun(int a[],int n){ for(int i=0;i<n;i++){ int minn=i; for(int j=i+1;j<n;j++){ if(a[j]<a[minn]){ minn=j; } } swap(a[i],a[minn]); } } int main(){ int n,a[305]; cin>>n; for(int i=0;i<n;i++){ cin>>a[i]; } fun(a,n); for(int i=0;i<n;i++){ cout<<a[i]; } return 0;v```v
插入排序
#include<bits/stdc++.h> using namespace std; void insertsort(int a[],int n){ int x; for(int i=1;i<n;i++){ x=a[i]; int j=0; for(j=i-1;j>=0;j--){ if(a[j]>x){ a[j+1]=a[j]; }else{ a[j+1]=x; } } if(j<0){ a[0]=x; } } } int main(){ int n,v[1005]; cin>>n; for(int i=0;i<n;i++){ cin>>v[i]; } insertsort(v,n); for(int i=0;i<n;i++){ cout<<v[i]; } return 0; }
二分查找
#include<bits/stdc++.h> using namespace std; int n,x,h; vector<int> a; int fun(){ int l=1,r=n,v; while(l<r){ v=(l+r)/2; if(a[v]>=x){ r=v; }else{ l=v+1; } } if(x==a[l]){ return l; }else{ return -1; } } int main(){ cin>>n; for(int i=1;i<=n;i++){ scanf("%d",&h); a.push_back(h); } cin>>x; printf("%d",fun()+1); }
-
通过的题目
- Y035
- Y036
- P16
- P18
- P19
- P20
- P21
- P22
- P23
- P24
- P25
- P26
- P27
- Y0301
- P29
- Y0302
- P31
- P32
- P33
- Y0401
- Y0402
- Y0403
- Y0501
- Y0502
- Y0503
- P40
- Y0601
- P42
- P43
- Y0602
- P45
- P46
- Y0701
- Y0702
- P49
- P50
- P51
- P52
- P53
- P54
- P55
- P56
- P57
- P58
- P59
- P60
- P61
- P62
- P63
- P64
- P65
- P66
- P67
- P68
- P69
- P70
- P71
- P72
- P73
- P74
- P75
- P77
- P78
- P79
- P80
- P81
- P82
- P83
- P84
- P85
- P86
- P87
- P88
- P89
- P90
- P91
- P92
- P93
- P94
- P95
- P96
- P97
- P98
- P99
- P100
- P101
- P102
- P103
- P104
- P105
- P106
- P107
- P108
- P109
- P110
- P111
- P112
- P113
- P114
- P115
- P116
- P117
- P118
- P119
- P120
- P121
- P122
- P123
- P124
- P125
- P126
- P127
- P128
- P129
- P130
- P131
- P132
- P133
- P134
- P135
- P136
- P137
- P138
- P140
- P143
- P147
- P148
- P149
- P150
- P151
- P152
- P154
- P155
- P156
- P157
- P158
- P159
- P160
- P161
- P162
- P163
- P165
- P166
- P167
- P168
- P169
- P170
- P171
- P172
- P173
- P174
- P175
- P176
- P177
- P178
- P179
- P180
- P181
- P182
- P183
- P184
- P185
- P186
- P187
- P189
- P191
- Y0404
- P193
- P194
- P195
- P196
- P197
- P198
- P199
- P200
- P201
- P203
- P204
- P206
- P207
- P208
- P209
- Y0603
- P211
- Y0405
- P213
- P214
- Y0703
- P216
- Y0604
- Y0504
- P219
- Y0605
- P222
- P223
- Y0505
- Y0406
- P226
- Y0606
- P228
- Y0704
- P230
- P231
- Y0705
- P233
- P234
- P235
- P236
- P237
- P238
- Y0706
- P240
- P242
- P243
- P245
- P246
- P247
- P249
- P250
- P251
- P252
- P253
- P255
- P256
- P258
- P259
- P260
- P262
- P263
- P264
- P266
- P267
- P269
- P271
- P273
- P275
- P277
- P278
- P279
- P280
- P281
- P283
- P284
- P286
- P289
- P290
- P292
- P293
- P295
- P297
- P298
- P299
- P301
- P302
- P304
- P305
- P306
- P307
- P308
- P310
- P312
- P314
- P315
- P317
- P318
- P319
- P320
- P321
- P324
- P327
- P328
- P329
- P330
- P331
- P334
- P335
- P336
- P337
- P338
- P341
- P343
- P345
- P347
- P349
- P351
- P353
- P355
- P356
- P357
- P358
- P359
- P361
- P362
- P363
- P364
- P365
- P366
- P367
- P368
- P369
- P370
- P371
- P372
- P373
- P374
- P375
- P376
- P377
- P378
- P379
- P380
- P381
- P382
- P383
- P384
- P385
- P386
- P387
- P388
- P389
- P390
- P391
- P392
- P393
- P394
- P395
- P397
- P398
- P400
- P401
- P407
- P408
- P409
- P410
- P411
- P412
- P413
- P414
- P416
- P418
- P419
- P420
- P421
- P424
- P425
- P426
- P427
- P428
- P429
- P430
- P431
- P432
- P433
- P435
- P436
- P437
- P438
- P439
- P440
- P441
- P446
- P448
- P449
- P450
- P465
- P466
- P467
- P468
- P469
- P470
- P471
- P472
- P473
- P476
- P477
- P480
- P481
- P485
- P486
- P487
- P488
- P122
- P654
- P751
- P752
- P753
- P754
- P755
- P756
- P757
- P758
- P759
- P760
- P761
- P762
- P763
- P764
- P765
- P766
- P767
- P768
- P769
- P770
- P771
- P772
- P773
- P774
- P775
- P776
- P777
- P778
- P779
- P780
- P781
- P782
- P783
- P784
- P785
- P786
- P787
- P788
- P789
- P790
- P791
- P792
- P793
- P794
- P795
- P796
- P797
- P798
- P799
- P800
- P801
- P802
- P803
- P804
- P805
- P806
- P807
- P808
- P809
- P811
- P812
- P813
- P814
- P815
- P816
- P818
- P819
- P820
- P821
- P822
- P823
- P824
- P825
- P826
- P827
- P828
- P829
- P830
- P831
- P832
- P833
- P834
- P835
- P836
- P837
- P838
- P839
- P840
- P841
- P842
- P843
- P844
- P845
- P846
- P847
- P848
- P849
- P850
- P851
- P852
- P853
- P854
- P855
- P856
- P857
- P858
- P859
- P860
- P861
- P862
- P864
- P865
- P866
- P867
- P868
- P869
- P870
- P871
- P872
- P873
- P874
- P875
- P876
- P877
- P878
- P879
- P880
- P881
- P882
- P883
- P884
- P885
- P886
- P887
- P888
- P889
- P890
- P891
- P892
- P893
- P894
- P895
- P896
- P897
- P898
- P899
- P900
- P901
- P902
- P903
- P904
- P905
- P906
- P907
- P908
- P1268
- P1287
- P1288
- P1289
- P1290
- P1291
- P1292
- P1293
- P1294
- P1295
- P1296
- P1297
- P1298
- P1305
- C1101
- P1308
- P1309
- P1310
- P1312
- P1314
- P1320
- P1324
- P1325
- P1326
- P1328
- P1329
- P1330
- P1331
- P1332
- P1333
- P1334
- P1335
- P1336
- P1337
- P1338
- P1345
- P1347
- P1348
- P1349
- P1355
- P1372
- P1386
- P1412
- P1430
- P1449
- P1466
- P1467
- P1505
- P1523
- P1531
- P1532
- P1533
- P1537
- P1555
- P1556
- P1561
- P1562
- P1563
- P1564
- P1566
- P1567
- P1568
- P1572
- P1573
- P1574
- P1577
- P1578
- P1582
- P1585
- P1593
- P1594
- P1598
- P1600
- P1604
- P1607
- P1622
- P1623
- P1624
- P1625
- P1626
- P1627
- P1628
- P1629
- P1631
- P1632
- P1633
- P1637
- P1645
- P1662
- P1663
- P1664
- P1665
- P1666
- P1667
- P1668
- P1669
- P1670
- P1671
- P1673
- P1674
- P1675
- P1719
- P1759
- P1760
- P1762
- P1959
- P1961
- P2046
- P2144
- P2145
- P2303
- P2342
- P2366
-
最近活动
题目标签
- 一本通编程启蒙
- 376
- 循环结构
- 157
- 小学生C++趣味编程
- 154
- 来源
- 103
- 顺序结构
- 92
- 分支结构
- 90
- 基础语法
- 88
- 函数
- 65
- 数组
- 39
- 字符串
- 35
- 教学题-C语言习题
- 35
- 排序
- 19
- 多重循环
- 15
- 二维数组
- 13
- C程序设计
- 9
- 多分支结构
- 8
- 结构体
- 5
- 模拟法
- 5
- 二分法
- 4
- 指针
- 4