
c语言指针练习
包括c语言指针、数组、链表、结构体。。。。。。
呆呆水獭_(:_」∠)_
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
7-61 实验11_7_学生信息管理系统 (100 分)(主函数版)
创建学生信息管理系统,具体要求如下:学生信息包括:学号 姓名 数学成绩 英语成绩 计算机成绩功能1:添加学生信息 执行1时,输入学号,姓名,三门科目成绩;如果添加学生成功则输出“Add success”,如果学生已存在则输出“Students already exist”功能2:删除学生信息 执行2时,输入学号信息;如果学生不存在,输出“Students do not exist”,如果存在,则输出“Delete success”功能3:更改学生成绩信息 执行3时,输入学号信息;如果学生不存原创 2021-12-24 20:56:52 · 760 阅读 · 0 评论 -
实验10_10_动态数组进阶
已知正整数n,n的范围不确定。从键盘读入n个字符串,每个字符串的长度小于1000,要保存到动态数组中。为了能访问到所有的字符串,需要建立一个长度为n的动态指针数组,用于保存n个字符数组的内存地址。在读入每个字符串时,用一个长度为1000的字符数组作为缓冲数组,将字符串读入并求出长度后,再动态分配空间,将缓冲数组中的字符串复制到新分配的动态空间中,并将动态空间的首地址保存到指针数组中。读完n个字符串后你要将这n个字符串按照ASCII码顺序升序排序,然后再打印到屏幕上。字符串中可能包含大小写字母“A-Z”、“a原创 2021-12-23 15:36:53 · 480 阅读 · 0 评论 -
实验10_9_指针数组进阶
已知正整数n,n的范围是1—100。你要从键盘读入n个字符串,每个字符串的长度不确定,但是n个字符串的总长度不超过100000。你要利用字符指针数组将这n个字符串按照ASCII码顺序进行升序排序,然后再打印到屏幕上。字符串中可能包含ASCII码中的任意字符,每个字符串以换行符结束输入。要求:不允许定义如char str[100][100000];这样的二维数组,因为会极大的浪费内存空间。你应定义char str[100000];这样的存储空间,将n个字符串连续的存储在一维字符空间内,然后将这n个字符串的原创 2021-12-23 00:49:28 · 740 阅读 · 1 评论 -
实验10_7_动态分配内存_2
已知正整数n、m,你要利用malloc函数动态开辟一个n行、m列的整型二维数组,然后读取nm个整数存入该数组中。再将这nm个整数全部改为其相反数的10倍,然后将其输出。最后你要利用free函数将该动态数组所占用的空间释放。提示:malloc与free的使用,以下代码即建立了一个n行m列的整型二维动态数组,并释放:int **a,n ,m;scanf(“%d%d”,&n,&m);a=(int **)malloc(sizeof(int *)*n);//建立长度为n的动态指针数组f原创 2021-12-22 23:22:20 · 223 阅读 · 0 评论 -
实验10_11_字符串排序(指针数组)
1、设计函数char ** create1( int n ) ;,根据整数n创建一个长度为n的字符指针型动态一维数组,并返回动态数组第一个元素的地址。2、设计函数char * create2( int n ) ;,根据整数n创建一个长度为n的字符型动态一维数组,并返回动态数组第一个元素的地址。3、设计函数void sort( char** strArray , int size ) ; ,该函数可将字符指针数组strArray所指向的所有字符串按从小到大排列。输入第一行为一个不超过200的整数n原创 2021-12-20 00:05:13 · 2306 阅读 · 0 评论 -
实验11_6_综合成绩排名-Sort
众所周知,计算机院要对申请转入计算机大类的学生进行考核,考核方式包括机试和面试。学生综合成绩采取百分制,其中50%由机试成绩核算,另50%由学生已获得的加权成绩核算。综合成绩优秀者可进入面试环节。现请你写一个根据学生成绩来确定综合成绩排名的程序。输入: 第一行为一个整数n(0<n<100),代表学生人数。 后边n行为学生信息,格式为,一个字符串代表学生学号(长度不超过15),后边为两个整数,前边的代表机试成绩,后一个代表学生已获得的加权成绩。(两类成绩均在0到100之间)。输出: 共n行原创 2021-12-19 23:49:15 · 521 阅读 · 0 评论 -
实验11_5_综合成绩排名-Comp
众所周知,计算机院要对申请转入计算机大类的学生进行考核,考核方式包括机试和面试。学生综合成绩采取百分制,其中50%由机试成绩核算,另50%由学生已获得的加权成绩核算。综合成绩优秀者可进入面试环节。现请你写一个根据学生成绩来确定综合成绩排名的程序。输入: 第一行为一个整数n(0<n<100),代表学生人数。 后边n行为学生信息,格式为,一个字符串代表学生学号(长度不超过15),后边为两个整数,前边的代表机试成绩,后一个代表学生已获得的加权成绩。(两类成绩均在0到100之间)。输出: 共n行原创 2021-12-19 23:47:30 · 491 阅读 · 0 评论 -
实验11_4_综合成绩排名-Swap
众所周知,计算机院要对申请转入计算机大类的学生进行考核,考核方式包括机试和面试。学生综合成绩采取百分制,其中50%由机试成绩核算,另50%由学生已获得的加权成绩核算。综合成绩优秀者可进入面试环节。现请你写一个根据学生成绩来确定综合成绩排名的程序。输入: 第一行为一个整数n(0<n<100),代表学生人数。 后边n行为学生信息,格式为,一个字符串代表学生学号(长度不超过15),后边为两个整数,前边的代表机试成绩,后一个代表学生已获得的加权成绩。(两类成绩均在0到100之间)。输出: 共n行原创 2021-12-18 17:47:17 · 1219 阅读 · 0 评论 -
实验10_4_设计函数 locatesubstr
设计函数 char *locatesubstr(char *str1,char *str2),查找str2指向的字符串在str1指向的字符串中首次出现的位置,返回指向该位置的指针。若str2指向的字符串不包含在str1指向的字符串中,则返回空指针NULL。 注意这里必须使用指针而不是数组下标来访问字符串。函数接口定义:char *locatesubstr(char *str1,char *str2);其中str1和str2都是用户传入的参数,其含义如题面所述 。若查找成功则返回指向该位...原创 2021-12-18 16:46:25 · 362 阅读 · 0 评论 -
实验10_3_动态内存分配函数_2
1、设计函数char ** create1(int n) ;,根据整数n创建一个长度为n的字符型指针动态一维数组,并返回动态数组第一个元素的地址。2、设计函数void create2( char ** strPtr , int n ) ;,为字符型指针动态一维数组strPtr中的每一个元素创建一个长度为n+1字符型动态一维数组。参数n为字符型指针动态一维数组strPtr的长度。3、设计函数void fill(char ** strPtr , int n) ;按要去将相应的字符填入二维动态数组strP原创 2021-12-18 15:33:57 · 1722 阅读 · 3 评论 -
实验10_2_动态内存分配函数_1
1、设计函数int * create(int n) ;,根据整数n创建一个长度为n的整型动态一维数组,并返回动态数组第一个元素的地址。2、设计函数 void cal(int * array, int size) ;该函数可计算array 所指向的动态一维数组中存储的size个整数的和及平均值,同时寻找其中的最大值、最小值。输入共两行,第一行为一个整数n(0<n<100)。第二行为n个用空格分隔的整数。第一行在主函数中输入,第二行需在函数cal中输入,并存储在 array 所指向的动态一维原创 2021-12-18 14:20:41 · 1069 阅读 · 0 评论 -
实验10_1_英超一
英格兰足球超级联赛(Premier League),通常简称“英超”,是英格兰足球总会属下的最高等级职业足球联赛。英超联赛采取主客场双循环赛制比赛,每支队伍与各球队对赛两次,主客各一次。由1995/96赛季开始参赛球队由22队减至20队,每支球队共进行38场赛事,主场和客场比赛各有19场。每场胜方可得3分,平局各得1分,负方得0分,按各队于联赛所得的积分排列。现请你写一个函数来计算某支球队的当前的积分。输入:只有一行,为一个字符串。该字符串包含不多于40个字符,每个字符代表该队一轮比赛的结果原创 2021-12-18 13:59:08 · 731 阅读 · 0 评论 -
7-2 实验10_7_动态分配内存_2 (100 分)
已知正整数n、m,你要利用malloc函数动态开辟一个n行、m列的整型二维数组,然后读取nm个整数存入该数组中。再将这nm个整数全部改为其相反数的10倍,然后将其输出。最后你要利用free函数将该动态数组所占用的空间释放。提示:malloc与free的使用,以下代码即建立了一个n行m列的整型二维动态数组,并释放:int **a,n ,m;scanf(“%d%d”,&n,&m);a=(int **)malloc(sizeof(int *)*n);//建立长度为n的动态指针数组f原创 2021-12-04 10:12:33 · 149 阅读 · 0 评论 -
7-1 实验10_7_动态分配内存_1 (100 分)
已知正整数n,你要利用malloc函数动态开辟一个长度为n的整型数组,然后读取n个整数存入该数组中。再将这n个整数全部改为其相反数(例如10的相反数是-10,-10的相反数是10)的10倍,然后将其输出。最后你要利用free函数将该动态数组所占用的空间释放。提示:malloc与free的使用,以下代码即建立了一个长度为n的整型动态数组,并释放:int *a,n;scanf(“%d”,&n);a=(int * )malloc(sizeof(int) * n);// 建立长度为n的动态整型原创 2021-12-04 10:12:19 · 269 阅读 · 0 评论 -
6-3 实验10_5_指针数组初步 (100 分)
已知一个总长度不超过10000的字符串,字符串中只包含大写字母“A—Z”、小写字母“a—z”和空格‘ ’。空格用于分割单词,空格的个数不超过1000个。你的任务是将字符串中用空格分隔的单词打印出来。 你要按照如下要求完成任务: 1.利用指针数组指向每个单词的开始位置。 2.把字符串中单词结束后的空格改为“\0”,然后使用指针数组将每个单词打印出来。 此题要求用函数完成。函数接口定义:函数原型如下:int getString( char * source , char *strPtr[] ) ;原创 2021-12-03 20:55:40 · 278 阅读 · 0 评论 -
6-2 设计函数 locatesubstr (100 分)
设计函数 char *locatesubstr(char *str1,char *str2),查找str2指向的字符串在str1指向的字符串中首次出现的位置,返回指向该位置的指针。若str2指向的字符串不包含在str1指向的字符串中,则返回空指针NULL。 注意这里必须使用指针而不是数组下标来访问字符串。函数接口定义:函数接口如下:char *locatesubstr(char *str1,char *str2);在这里解释接口参数。例如:其中str1和str2都是用户传入的参数,其...原创 2021-12-03 20:52:58 · 178 阅读 · 0 评论 -
6-1 实验9_8_设计函数 void delcharfun(char *str,char ch) (100 分)
设计函数 void delcharfun(char *str,char ch)实现从字符串str中删除指定的字符ch。同一字母的大、小写按不同字符处理。函数接口定义:函数原型如下:void delcharfun(char *str,char ch);其中str和ch都是用户传入的参数。str为指向待删除数组的指针;ch指定字符。函数没有返回值。裁判测试程序样例:函数被调用的例子如下:#include<stdio.h>void delcharfun(...原创 2021-12-03 20:49:44 · 477 阅读 · 0 评论