上嵌学习笔记

冒泡算法和字符串问题

2016-12-16  本文已影响7人  Hassan_chao

一、冒泡排序

int arr[5]={1,2,3,4,5}
参加数据个数:n,比较次数n-1,得到最值n

arr[0]      arr[1]----->arr[1];
arr[1]      arr[2]----->arr[2];
arr[2]       arr[3]----->arr[3];
arr[3]      arr[4]----->arr[4];
arr[4]      arr[5]----->arr[5];
.....       ..... ...... .....
arr[n-1] arr[n]----->arr[n];

第二次比较个数:n-1 比较次数n-2 得到次值

arr[1]          arr[2]----->arr[2];
arr[2]           arr[3]----->arr[3];
arr[3]          arr[4]----->arr[4];
arr[4]          arr[5]----->arr[5];
.....            ..... ...... .....
arr[n-2]        arr[n-1]----->arr[n-1];```
。。。
。。。
。。。
第n-1次比较,参与个数2   比较次数1   得到最终结果
```arr[0]           arr[1]----->arr[1];```
###2、获取随机数
//获取0~100之间的随机数

srand(time(NULL));//此语句不能放在循环语句中,否则会产生相同的数据
int max =rand()%100;

###3、字符串
(1)字符串常量
    字符串是由""括起来的字符串集合
    "a","hh","ajfljwi3958&"
    字符串的结束标志'\n',不显示,但是存在。
(2)C中没有字符串所对应的数据类型,通常使用字符数组保存字符串
```     char arr[32]={"hello,uuhhio"};
    char buf[32]="lkajfeihfaoon 45";
    char af[32]={ 'a','r','$','*','8'};```
    注意:字符数组保存字符和保存字符串的区别;
    字符串有'\0'
(3)字符串的输入和输出
scanf()//遇到空格,回车,tab键,按结束处理,单个空格可以接收,
printf()```

(3)

 getchar();//吸收单个字符
    char ah;
    ah=getchar();
    getchar();

(4)

gets()/put()
    get():从键盘输入,可以接收空格,此函数有bug,不建议使用
    put():自动换行,无需换行符

(5) fget()/fput()

fgets():获得数据
    arr:数组名,即一个地址
    fgets(arr,sizeof(arr),stdin);
    stdin:标准输入
    sizeof(arr):读取数据大小,也可以用数字代替
fputs():输出数据,并自动换行
    fputs(arr,stdout);
    stdout:标准输出
    arr:要输出的字符串
注意:此处无BUG,可以放心使用

(6)指针和字符串
char
(7)字符串相关函数
头文件:#include<string.h>

        strlen():计算字符串长度,‘\0’不计入字符串长度,注意区分和sizeof的区别
        
        strcpy():字符串拷贝,
            strcpy(buf,arr);将arr内容拷贝到buf中

        strcmp():字符串比较
        int ret=strcmp(arr,buf)
        若ret=0;则两个字符串相等 
        若ret>0;则arr>buf
        若ret>0;则arr<buf
            注:不需要知道返回值的具体值!!!

        strcat():字符串拼接
        strcat():字符串的拼接
        strcat(arr,buf);
        将buf的内容,拼接到arr中,一定要保证arr的空间足够大!!否则会出现数组越界问题!

总结:今天讲解的新内容,没有什么疑问,bug还是出现在指针数组上,正在修复中。。。。

上一篇下一篇

猜你喜欢

热点阅读