一、字符数组
1.字符数组:用来存放字符变量的数组称为字符数组,字符数组也是一维数组,与其他数组类似,只是它是用char类型定义。
2.字符数组的定义:
char 数组名[常量表达式] = {值1,值2,值3、、、、};
3.定义字符串:char arry[10] = {'i','P','h','o','n','e'};
定义字符数组:char arry1[5] = {'i','P','h','o','n','e'};
4.数组长度要比字符长度大1,用来存放“\0”;字符数组也称为字符串;
5.字符串处理函数:
(1)strcpy() 字符串拷贝;
(2)strcat() 字符串拼接;
(3)strcmp() 字符串比较。比较两个字符串里字符的ASCII值,相当于减法,当比较到两个字符相等时,则继续比较下一个;若不相等时,就比较到当时这个,把当前字符对应的ASCII值的差值输出,就不再做比较;
(4)strlen() 计算字符串长度。计算出的是有效长度,而sizeof计算出的是含“\0”;
5.用冒泡排序法
核心思想:输入10个数进行两两比较,先比较第一个和第二个,若a[i] > a[i+1],然后交换两个数,把大的交换到后面,再进行比较第二个和第三个,依次进行比较,第一趟需比较10-1次,这时就把最大的数字交换到了最下边;然后再比较第二趟,须比较9-1次,这时第二大数就比较出来,依次进行循环比较,直到第一个是最小的数,比较趟数才算结束,然后依次输出该数组中的数字。
6.随机产生20个10~50的正整数存放到数组中,并求数组中的最大值、最小值、各元素之和和平均值。
核心思想:利用随机数的公式算出随机数,范围小于20,然后定义max=0,min = 50;在if语句中进行判断数组a[i]是否大于max,大于就将这个数赋值给max,然后再与min进行比较是否小于min,小于的话,赋值给min,最后计算出sum +=a[i]还有平均值average;最后输出这四个值;
7.给定某年某月某日,将其转换成这一年的第几天并输出。
(1)利用switch循环:
首先在控制台输入,然后用switch循环进行判断,再则就是判断是否为闰年,在闰年里还需判断月份是否大于第三个月和小于第三个月,若大于第三个月,sum就需要加一,若小于则不需要直接输出sum;
(2)利用数组进行计算:
首先在控制台进行输入,定义两个int型数组a[12]和b[12],然后通过if语句进行判断输入的年份是否为闰年,若是闰年,则输出数组b[i],若不是,则输出数组a[i],然后sum = sum + a[i] 或者sum = sum + b[i]。
8.在今天的练习中,由于自己马虎总是出现一些错误,比如scanf 中不能加‘\n’,变量名重复定义,case语句后少加{};if 语句中的嵌套循环括号丢失。所有自己一定要细心,出现问题后不应该总是依赖于别人去帮忙找错误,应该自己静下心来,认真查看。