- 博客(16)
- 收藏
- 关注
原创 链表的插入
插入链表具体思路及其算法1,查找要插入值的具体位置即需要找插入值的前驱2,分情况讨论1、遍历完q循环结束也并非找到比elem更大的数据{a、链表为空链表 b、elem就是最大值 插入尾部即可}2、 找到了比elem更大的值{c、elem是整个链表中最小的值 插入头部做头结点 d、非空链表中elem就是最大值 插入尾部 q->next=s e、找到了比elelm更大的值}3、常规创建遍历链表释放资源例题。
2024-05-14 09:41:39
286
1
原创 C语言结构体全解
3个同学都建立了微信账号,账号信息包括:用户名,密码,头像,年龄,生日(这几个变量不同类型的变量所以不能直接用数组来储存的)需要用到结构体 --------->结构体可以储存不同类型的变量 当然结构体也可以储存结构体变量(了解即可 并非重点)上述代码需要注意的是:之前所学过的字符字符数字赋值要用到库函数 而不能直接用赋值等号(==)
2024-05-07 18:29:57
311
1
原创 【指针数组】与【二维数组】的应用
输入一个m行n列(m,n<=6)的二维数组,输出所有内容。以上是详细代码加注释 ,希望能够帮助到大家。接下来m行每行输入n个整数。
2024-04-14 17:13:38
113
1
原创 二维数组+指针
注意:&a[M-1][N-1]+1是一个指针,表二维数组a的最后一个元素的下一个元素,如果直接将其写成&a[M][N]那么循环将会从二维数组的最后一个元素开始而不是最后一个元素的前一个元素开始。这可能导致访问数组使发生越界的情况。&a[M][N]实际上是指向a的一个地址,而&a[M-1][N-1]+1则表示最后一个元素的下一个元素。从键盘输入12个整数,存入到3行4列的二维数组中,求和并输出数组及和的结果。这样就可以确保循环从数组的最后一个元素开始。输出三行四列的二维数组及和的结果。
2024-04-14 13:39:22
332
1
原创 【指针与二维数组】求二维数组的最大值
需要注意的是,在循环中,我们使用了指针的递增操作,而不是使用了数组的索引,这是因为数组的内存是连续储存的,指针是通过递增操作依次访问数组的每一个元素的,而数组的索引需要用循环遍历整个数组,因此,使用指针递增操作可以更加高效的访问数组的元素。二维数组的总行数可以用m*n来表述,因为二维数组可以看走一个矩阵,其中每个元素都是一个一维数组,在矩阵中,每一行代表一个一维数组,每一列页代表一个一维数组,因此总行数就是一维数组的个数,而总列数就是每个一维数组的总长度。2.判断row二维数组的总行数(m*n)
2024-04-14 12:23:32
379
1
原创 二维数组指针习题来咯
分布解释到位:eg:a+0是第一行的地址,所以a+0*n;表示第一行有n列即第一行所有元素的地址,所以(a+0*n)+0,则就表示第一行第一列的元素的地址即*(a+0*n)+0即是其所指向的内容即第一行第一列的那个元素。需要理解透彻才能准确把握题目,多做题从题目中悟出其中的奥妙需要慢慢理解,千万不可急于求成,指针需要花费时间去学习,加油!从键盘输入数值,构成一个3行4列的二维整型数组,设计函数对每个元素执行加1操作,然后在主函数中输出该数组的内容。*((a+i*n)+j)表示指向第i行第j列元素的指针。
2024-04-13 21:38:17
726
3
原创 【函数 数组 指针】求整数因数
要求:设计一个函数 int yinshu(int n,int *a) //result将返回所有因数结果,因此,实际参数必须是数组;该函数的功能是,从字符串str1中,从序号index开始(第1个字符的序号为0),提取length个字符,复制给字符串str2。n求一个正整数(1~32767)的所有因数(能整除该数且小于其本身的数),数与数之间用空格隔开,例如输入12,输出:1 2 3 4 6。第2行是2个整数,第1个整数是起始序号,第2个整数是提取的字符个数。求整数因数即就是取余为0的数。
2024-04-11 23:14:14
433
1
原创 【C语言】【指针与数组】计算平均分及人数统计
要求:设计一个输入数据的函数 void inputarray(int * a,int *n) //a是指向数组的指针,n用于返回实际输入数据个数。输入n(n<20)个整数,统计数组中大于平均值(含相等的值)和小于平均值的比例,并输出结果,其中大于平均值(含相等的值)在前,小于平均值在后。这一操作的目的是要求求高于平均值和低于平均值人数的最大公约数,然后记录他们除以最大公约数的值,最后输出他们的比列形式。算法:“”统计数组中大于平均值(含相等的值)和小于平均值”同上,主要是求平均值,然后进行比较,
2024-04-11 18:52:51
1931
1
原创 问题 D: 【函数 数组 指针 】分数转换成等级
2.分数是0-100 如果写五个分数那就只能判断那个分段的等级 ,但一般情况是1-100的分值。转换结果,注意outscore数组要用p 指针访问,使用指针将其地址保存起来。3.switch 函数切记不要忘记break;将输入的5个成绩转换成对应的等级输出。输出5个字符等级,用空格分隔。
2024-04-11 17:10:16
343
1
原创 【问题C】: 【数组 函数 指针】求数组元素最大值
7 5 8 9 6 4 7 39#include<stdio.h>#define N 100//宏定义void findLargest(int a[],int n,int *pmax);//*pmax是通过指针来返回最大值int main(){ int a[N],i,n,max; scanf("%d",&n);//第一行输入一个数字n; for(i=0;i<n;i++) scanf("%d",&a[i]);//第二行输入n个数 findLargest(a,n,
2024-04-10 14:14:06
293
原创 写指针与数组的代码
指针p指向数组a的元素a[i],常有以下3种方式1. p=a+i;2. p=&a[i];3. 先让p指向数组a,即指向a[0],然后让p不断地++,让它分别指向a[1]、a[2]、.........。下面,你就尝试一下,用这种方式,让指针指向数组元素。
2024-04-09 23:48:26
773
原创 学习 C语言心得
所以呢经过我一学期的努力,第二学期写代码的时候我觉得已经很顺了,是肉眼可见的进步,以前觉得我是菜鸟,我的同学就是神,现在我居然也可以更胜一筹了,这给也给我接下来的学习带来了动力。
2024-04-07 11:13:44
382
指针p指向数组a的元素ai,常有以下3种方式 1. p=a+i; 2. p=&ai; 3. 先让p指向数组a,即指向a
2024-04-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人