- 博客(16)
- 收藏
- 关注
原创 折半查找
折半查找要求是数列有序,时间复杂度o(n^2 ),空间复杂度o(1)原理:定义三个常量low mid high ;low为起始位置下标,high为最后一个元素下标;mid为(low+high)/2;当关键字key小于arr[mid]时缩小查找范围调整low或者high的位置int halfsearch(int arr[],int len,int key){ int low,high,m...
2020-02-04 18:52:05
154
原创 二路归并排序
二路归并排序是将数据段分割成以width(变化为1 ,2, 4…)为长度的数据段,然后两两数据段进行比较。设立low1 high1为第一个数据段的首位置和末位置,low2 high2,为第二个数据段的首末位置进行一次排序的步骤第一步:low1和low2进行比较较小数放入数组brr中,较小数的下标++,当两个数据段比较完成后其中剩下的数放入brr第二步:对接下来的两个数据段进行比较(第一步步骤...
2020-02-04 18:08:33
389
原创 输出字符串中所有数字
#include<stdio.h> int main (){ int i=0;int j=0; //计算数字字符的个数int m=0;int k=0; //数字的位数int a=0;//数字的个数int tmp;int *p; char *pr; char arr[20]=“hd34jbn322knk55”;int b...
2019-10-26 16:31:56
6325
翻译 输出一个字符串,内有数字字符和非数字字符
#include<stdio.h>#include<stdlib.h>int main(){int brr[10];char arr[20]=“123g 78/h 68”;int i=0;int j=0; //数字字符的个数int m=0;int k=0; //用来保存位数int a=0; //数字的的个数int tmp=0;charp...
2019-10-25 18:40:14
892
原创 一维数组和二维数组及其内元素的数据类型
在一维数组中,arr为一个整型指针变量,arr+1同样的也为指针变量。arr[0]及arr[0]+1同样为数组里的元素所以二者都为整形变量。在二维数组中,可将二维数组看作以行数为主的n个一维数组,如图所示因为[]结合性比高,所以给p加括号使其成为数组指针...
2019-09-08 17:44:51
623
翻译 逆序输出字符串
void opposite(chararr,charbrr) //定义两个数组{while(arr!=’\0’) //当arr不为‘\0’时*arr循环{*brr=*arr; //将数组arr的值赋给数组brr*arr++;*brr++;}*brr=’\...
2019-07-25 13:16:04
561
原创 利用起泡法对数组进行排列(从大到小)
起泡法:将两个数进行比较,将比较大的数放在前方,再进行下一次比较#include<stdio.h>void order(int *arr,int n)//利用指针定义数组及数组长度{int i;int j;int t;for(i=0;i<n;i++) //对数组内每个数循环一次{for(j=0;j<...
2019-07-25 13:11:32
2080
翻译 字符串转为数字
#include<stdio.h>#include<assert.h>#include<assert.h>#include<ctype.h>int myatoi(const char*str){assert(str!=0);int sum=0;int a=1;while(*str==’ ‘)//去掉空格若为空格继续向前str++;...
2019-07-14 17:24:09
92
翻译 输入某年某月某日,判断这一天是一年中的第几天
//输入某年某月某日,判断这一天是一年中的第几天#include<stdio.h>int search(int year,int month,int day){int sum;int tmp;switch(month)//先计算到每个月的天数{case 1:sum=0;break;//case中包含1到12月case 2:sum=31;break;case 3:su...
2019-07-06 11:21:26
356
原创 关于指针和解引用
指针的含义:定义一个整型指针变量为 intp且intp=&a,则说明整型指针变量p中所保存的是变量a的地址解引用:p就是访问p所指向的变量,为间接访问符eg:intp =&a;a=100;则p访问a变量*p=100;eg:*pp=&a;**pp=a;注意:父函数调用子函数时,若子函数要影响到父函数则需要调动指针和解引用eg:void swap(int *a,in...
2019-07-06 10:28:07
669
翻译 字符串的连接和比较
(1)strcat 函数为字符串连接函数,使用方式为strcat(字符数组1,字符数组2),将数组2连接到数组一的后面eg:#include<stdio.h>int main(){char arr[20]=“abcde”;char brr[]=“dresd”printf("%s",strcat(arr,brr);return 0;}(2)strcmp为字符串比较函数...
2019-07-02 08:33:09
360
翻译 假设在n进制下,下面的等式成立,567*456=150216,n的值是()
假设在n进制下,下面的等式成立,567456=150216,n的值是()A. 9 B.10 C.12 D.18解析:(1):原式可化为(5n的平方+6n+7n的0次方)(4n的平方+5n+6*n的0次方)(2):将上式两边n取余可得42%n=6(3):将化解后的原式先除以n在对n取余可得(71+42/n)%n=(1+6/n)%n=(1+0)%n=1...
2019-06-30 13:34:01
144
翻译 求一组数据中字母,数字,空格和其他的个数
#include<stdio.h>#include<ctype.h>void show(){int blank;int alpha;int digit;char ch;while((chgetchar())!=’\n’) //得到一串字符{if(isalpha(ch)){alpha++;}else if(isdigit...
2019-06-24 16:08:44
279
翻译 数字位数及顺序输出
数字位数思路:定义一个变量接收数字n变换的次数;顺序输出思路:调用数字位数及pow函数#include<stdio.h>#include<math.h>int GetFigures(int n){int i=0;do{n/=10;i++;}while(n!=10);return i;}void PrintOrder(int n){//得到n...
2019-06-23 12:13:56
821
翻译 逆序输出
逆序输出每一个数字思路:数字对10取余得到的数输出,除以10作为新数List item#include<stdio.h>void num(int n){do //do while语句最少执行一次{printf ("%d",n%10);n/=10; //n重新赋值}...
2019-06-23 11:27:26
232
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人