第11次作业 二维数组
题目一:找鞍点
一:设计思路:
(1)定义n为方阵的规模并输入n,定义循环变量ij来控制输入输出;定义d来保存方阵中每一个位置对应的数,定义m用来行比较定义flag=0用来判断是否输出过;
(2)定义二维数组c[n][n];
(3)for(i=0;i<n;i++){
for(j=0;j<n;j++){
输入c[i][a]}}
(4)for(i=0;i<n;i++){
for(j=0;j<n;j++)}将c[i][j]的值赋给d
(5)for(m=0;m<n;m++)然后将d与该行的所有元素比较,如果d大于这一行中的某一个数,跳出这一层的循环;
(6)如果m==n,for(g=0;g<n;g++)再将该元素与这一列进行比较,然后将d与该列的所有元素比较;如果d小于这一列中的某一个数,跳出循环,当g==n时,输出ij,并让flag=1;
(7)如果flag=0输出NONE。
二.代码截图:
三.学习小结:
1.我学会了什么?
1.1.c中如何存储字符串?
在c语言中存储一个字符串,一般有两种方法,一种是字符指针,一种是使用字符数组。
1.2.字符串结束的标志是什么,为什么要用结束标志?
'\0',因为字符型数组中的每一个都是随机的,如果没有结束标志,无法判断到哪里读取结束;
1.3.字符串有三种 getchar gets scanf
1.4.数字字符怎么转换成整数,写个伪代码?
char c
int a;a=c-’0‘.prinft("%d",a);
第12次作业 字符串
题目二:统计字符的出现次数
一:设计思路:
(1)要统计每个字符出现的个数,那么就要为每个字符做一个统计值,可以用数组实现;
(2)然后输入字符串;
(3)遍历字符串,对所求的字符进行统计
二.代码截图:
三.学习小结
1.区别“a”和‘a‘,前者是字符串常量,包括’a'和‘\0’两个字符,用一维字符数组存放,用一维字符数组存放,后者是字符常量,只有一个字符,可以赋给字符常量;
2.一维字符数组用于存放字符型数据。它的定义,初始化和引用与其他类型的一维数组一样。
第13次作业 数组和指针
题目三:使用函数的选择法排序
一.代码截图
二.学习总结
(1) 地址和指针是计算机中两个重要的概念,在程序运行过程中,变量或者程序代码被存储在以字节为单位组织的存储器中。在c语言中,如果定义了一个变量,在编译时就会根据该变量
的类型给它分配相应大小的内存单元。
(2)指针声明符*在定义指针变量时被使用,说明被定义的那个变量是指针。
(3)在对指针变量命名时,除整型指针外,建议用其类型名的首字母作为指针名的首字符,用p或ptr作为名字,以程序具有较好的可读性。
第14次作业 指针 字符串
题目四:使用函数实现字符串部分复制
一.设计思路
调用库函数
先输入t指针
若strlen(t)<m则*s=0;返回空字符串
否则将t指针的第t+m-1个地址赋值给s
二.代码截图
三.学习小结
本次学习了一些指针和一些简单的库函数,指针的应用使得我们的解题变得更加的灵活,我们再也不用对返回多个值焦头烂额。但是指针的运用虽然灵活,出错率也相对提升了;
如果我们使用不当的程序很容易出现程序崩溃,还有就是一些库函数如字符串的连接,复制,比较等很方便很好用,需要正确的掌握它们的使用方法。
第15次作业
题目五:建立学生信息链表
一.代码截图
二.学习小结
(1)动态输入多个字符串
用指针数组操作多个字符串时,都是通过初始化的方式对指针数组赋值,使指针的数组元素指向字符串。
(2)使用命令行的程序不能在编译中执行,需要将源程序经编译,链接为相应的命令文件,然后回到命令状态,再在该状态下直接输入命令文件名。