- 博客(173)
- 收藏
- 关注
原创 浙大版《C语言程序设计实验与习题指导(第4版)》题目集 实验11-2-9 链表逆置
题目要求:本题要求实现一个函数,将给定单向链表逆置,即表头置为表尾,表尾置为表头。链表结点定义如下:struct ListNode { int data; struct ListNode *next;};函数接口定义:struct ListNode *reverse( struct ListNode *head );其中head是用户传入的链表的头指针;函数reverse将链表head逆置,并返回结果链表的头指针。裁判测试程序样例:#include <stdio.h
2021-08-14 00:23:19
839
原创 浙大版《C语言程序设计实验与习题指导(第4版)》题目集 实验11-2-7 统计专业人数
题目要求:本题要求实现一个函数,统计学生学号链表中专业为计算机的学生人数。链表结点定义如下:struct ListNode { char code[8]; struct ListNode *next;};这里学生的学号共7位数字,其中第2、3位是专业编号。计算机专业的编号为02。函数接口定义:int countcs( struct ListNode *head );其中head是用户传入的学生学号链表的头指针;函数countcs统计并返回head链表中专业为计算机的学生人数
2021-08-14 00:23:08
618
1
原创 浙大版《C语言程序设计实验与习题指导(第4版)》题目集 实验11-2-5 链表拼接
题目要求:本题要求实现一个合并两个有序链表的简单函数。链表结点定义如下:struct ListNode { int data; struct ListNode *next;};函数接口定义:struct ListNode *mergelists(struct ListNode *list1, struct ListNode *list2);其中list1和list2是用户传入的两个按data升序链接的链表的头指针;函数mergelists将两个链表合并成一个按data升序链接
2021-08-14 00:22:56
480
原创 浙大版《C语言程序设计实验与习题指导(第4版)》题目集 实验11-2-4 删除单链表偶数节点
题目要求:本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中偶数值的结点删除。链表结点定义如下:struct ListNode { int data; struct ListNode *next;};函数接口定义:struct ListNode *createlist();struct ListNode *deleteeven( struct ListNode *head );函数createlist从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到−1时
2021-08-13 20:14:29
215
原创 浙大版《C语言程序设计实验与习题指导(第4版)》题目集 实验11-2-3 逆序数据建立链表
题目要求:本题要求实现一个函数,按输入数据的逆序建立一个链表。函数接口定义:struct ListNode *createlist();函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按输入数据的逆序建立一个链表,并返回链表头指针。链表节点结构定义如下:struct ListNode { int data; struct ListNode *next;};裁判测试程序样例:#include <stdio.h>#inc
2021-08-13 20:09:30
845
原创 浙大版《C语言程序设计实验与习题指导(第4版)》题目集 实验11-2-2 学生成绩链表处理
题目要求:本题要求实现两个函数,一个将输入的学生成绩组织成单向链表;另一个将成绩低于某分数线的学生结点从链表中删除。函数接口定义:struct stud_node *createlist();struct stud_node *deletelist( struct stud_node *head, int min_score );函数createlist利用scanf从输入中获取学生的信息,将其组织成单向链表,并返回链表头指针。链表节点结构定义如下:struct stud_node {
2021-08-13 19:42:41
369
原创 浙大版《C语言程序设计实验与习题指导(第4版)》题目集实验11-2-1 建立学生信息链表
题目要求:本题要求实现一个将输入的学生成绩组织成单向链表的简单函数。函数接口定义:void input();该函数利用scanf从输入中获取学生的信息,并将其组织成单向链表。链表节点结构定义如下:struct stud_node { int num; /*学号*/ char name[20]; /*姓名*/ int score; /*成绩*/ struct stud_nod
2021-08-13 18:19:26
643
原创 浙大版《C语言程序设计实验与习题指导(第4版)》题目集 实验6-10 统计单词的长度
题目要求:本题目要求编写程序,输入一行字符,统计每个单词的长度。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。输入格式:输入给出一行字符。输出格式:在一行中输出每个单词的长度。每个数字后有一个空格。输入样例1:How are you?输出样例1:3 3 4 代码:#include <stdio.h>int main(){ char a[1000]; int n = 0, i, count = 0, flag = 0;
2021-08-13 16:54:28
1373
2
原创 浙大版《C语言程序设计实验与习题指导(第4版)》题目集 实验11-1-9 藏尾诗
题目要求:本题要求编写一个解密藏尾诗的程序。输入格式:输入为一首中文藏尾诗,一共四句。每句一行,但句子不一定是等长的,最短一个汉字,最长九个汉字。注意:一个汉字占两个字节。输出格式:取出每句的最后一个汉字并连接在一起形成一个字符串并输出。同时在末尾输入一个换行符。输入样例1:悠悠田园风然而心难平兰花轻涌浪兰香愈幽静输出样例1:风平浪静代码:#include <stdio.h>#include <string.h>int main(){ int
2021-08-13 16:27:39
349
原创 浙大版《C语言程序设计实验与习题指导(第4版)》题目集 实验11-1-7 藏头诗
题目要求:本题要求编写一个解密藏头诗的程序。输入格式:输入为一首中文藏头诗,一共四句,每句一行。注意:一个汉字占两个字节。输出格式:取出每句的第一个汉字并连接在一起形成一个字符串并输出。同时在末尾输入一个换行符。输入样例1:一叶轻舟向东流帆稍轻握杨柳手风纤碧波微起舞顺水任从雅客流输出样例1:一帆风顺代码:#include <stdio.h>int main(){ int i, j; char poem[4][20], str[3]; for(i=0
2021-08-13 15:59:20
729
原创 浙大版《C语言程序设计实验与习题指导(第4版)》题目集 实验11-1-1 英文单词排序
题目要求:本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出。如果长度相同,按照输入的顺序不变。输入格式:输入为若干英文单词,每行一个,以#作为输入结束标志。其中英文单词总数不超过20个,英文单词为长度小于10的仅由小写英文字母组成的字符串。输出格式:输出为排序后的结果,每个单词后面都额外输出一个空格。输入样例1:blueredyellowgreenpurple#输出样例1:red blue green yellow purple 代码:#includ
2021-08-13 15:23:38
332
原创 浙大版《C语言程序设计实验与习题指导(第4版)》题目集 实验10-1 圆形体体积计算器
题目要求:本题要求实现一个常用圆形体体积的计算器。计算公式如下:球体体积 V= 4/3πr^3,其中r是球体半径。圆柱体体积 V=πr^2h,其中r是底圆半径,h是高。圆锥体体积 V= 1/3πr^2*h,其中r是底圆半径,h是高。输入格式:在每次计算之前,要求输出如下界面:1-Ball2-Cylinder3-Coneother-ExitPlease enter your command:然后从标准输入读进一个整数指令。输出格式:如果读入的指令是1或2或3,则执行相应的体积计算
2021-08-12 20:31:17
519
1
原创 浙大版《C语言程序设计实验与习题指导(第4版)》题目集 实验9-9 有理数比较
题目要求:本题要求编写程序,比较两个有理数的大小。输入格式:输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数。输出格式:在一行中按照“a1/b1 关系符 a2/b2”的格式输出两个有理数的关系。其中“>”表示“大于”,“<”表示“小于”,“=”表示“等于”。输入样例1:1/2 3/4输出样例1:1/2 < 3/4输入样例2:6/8 3/4输出样例2:6/8 = 3/4代码:#include
2021-08-12 19:19:35
370
原创 浙大版《C语言程序设计实验与习题指导(第4版)》题目集 实验9-7 找出总分最高的学生
题目要求:给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和3门课程的成绩([0,100]区间内的整数),要求输出总分最高学生的姓名、学号和总分。输入格式:输入在一行中给出正整数N(≤10)。随后N行,每行给出一位学生的信息,格式为“学号 姓名 成绩1 成绩2 成绩3”,中间以空格分隔。输出格式:在一行中输出总分最高学生的姓名、学号和总分,间隔一个空格。题目保证这样的学生是唯一的。输入样例:500001 huanglan 78 83
2021-08-12 17:29:01
534
原创 浙大版《C语言程序设计实验与习题指导(第4版)》题目集 实验9-3 计算平均成绩
题目要求:给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和成绩([0,100]区间内的整数),要求计算他们的平均成绩,并顺序输出平均线以下的学生名单。输入格式:输入在一行中给出正整数N(≤10)。随后N行,每行给出一位学生的信息,格式为“学号 姓名 成绩”,中间以空格分隔。输出格式:首先在一行中输出平均成绩,保留2位小数。然后按照输入顺序,每行输出一位平均线以下的学生的姓名和学号,间隔一个空格。输入样例:500001 zhang
2021-08-12 17:06:40
502
原创 浙大版《C语言程序设计实验与习题指导(第4版)》题目集 实验9-1 计算职工工资
题目要求:给定N个职员的信息,包括姓名、基本工资、浮动工资和支出,要求编写程序顺序输出每位职员的姓名和实发工资(实发工资=基本工资+浮动工资-支出)。输入格式:输入在一行中给出正整数N。随后N行,每行给出一位职员的信息,格式为“姓名 基本工资 浮动工资 支出”,中间以空格分隔。其中“姓名”为长度小于10的不包含空白字符的非空字符串,其他输入、输出保证在单精度范围内。输出格式:按照输入顺序,每行输出一位职员的姓名和实发工资,间隔一个空格,工资保留2位小数。输入样例:3zhao 240 400
2021-08-12 16:37:03
424
原创 浙大版《C语言程序设计实验与习题指导(第4版)》题目集 实验8-2-2 找最长的字符串
题目要求:本题要求编写程序,针对输入的N个字符串,输出其中最长的字符串。输入格式:输入第一行给出正整数N;随后N行,每行给出一个长度小于80的非空字符串,其中不会出现换行符,空格,制表符。输出格式:在一行中用以下格式输出最长的字符串:The longest is: 最长的字符串如果字符串的长度相同,则输出先输入的字符串。输入样例:5liwangzhangjinxiang输出样例:The longest is: zhang代码:#include <stdio.h
2021-08-12 15:52:52
527
原创 浙大版《C语言程序设计实验与习题指导(第4版)》题目集 实验8-2-1 找最小的字符串
题目要求:本题要求编写程序,针对输入的N个字符串,输出其中最小的字符串。输入格式:输入第一行给出正整数N;随后N行,每行给出一个长度小于80的非空字符串,其中不会出现换行符,空格,制表符。输出格式:在一行中用以下格式输出最小的字符串:Min is: 最小字符串输入样例:5LiWangZhaJinXian结尾无空行输出样例:Min is: Jin结尾无空行代码:#include <stdio.h>#include <string.h>i
2021-08-12 15:43:00
485
原创 浙大版《C语言程序设计实验与习题指导(第4版)》题目集 实验8-1-5 使用函数的选择法排序
题目要求:本题要求实现一个用选择法对整数数组进行简单排序的函数。函数接口定义:void sort( int a[], int n );其中a是待排序的数组,n是数组a中元素的个数。该函数用选择法将数组a中的元素按升序排列,结果仍然在数组a中。裁判测试程序样例:#include <stdio.h>#define MAXN 10void sort( int a[], int n );int main(){ int i, n; int a[MAXN];
2021-08-11 21:32:25
840
原创 浙大版《C语言程序设计实验与习题指导(第4版)》题目集 实验8-1-2 利用指针找最大值
题目要求:本题要求实现一个简单函数,找出两个数中的最大值。函数接口定义:void findmax( int *px, int *py, int *pmax );其中px和py是用户传入的两个整数的指针。函数findmax应找出两个指针所指向的整数中的最大值,存放在pmax指向的位置。裁判测试程序样例:#include <stdio.h>void findmax( int *px, int *py, int *pmax );int main(){ int m
2021-08-11 21:26:01
2438
原创 浙大版《C语言程序设计实验与习题指导(第4版)》题目集 实验8-1-1 使用函数找出数组中的最大值
题目要求:本题要求实现一个找出整型数组中最大值的函数。函数接口定义:int FindArrayMax( int a[], int n );其中a是用户传入的数组,n是数组a中元素的个数。函数返回数组a中的最大值。裁判测试程序样例:#include <stdio.h>#define MAXN 10int FindArrayMax( int a[], int n );int main(){ int i, n; int a[MAXN]; scanf(
2021-08-11 21:21:42
3621
原创 浙大版《C语言程序设计(第4版)》题目集 习题11-8 单链表结点删除
题目要求:本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中所有存储了某给定值的结点删除。链表结点定义如下:struct ListNode { int data; ListNode *next;};函数接口定义:struct ListNode *readlist();struct ListNode *deletem( struct ListNode *L, int m );函数readlist从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到−1时表示输入
2021-08-11 21:12:21
614
原创 浙大版《C语言程序设计(第4版)》题目集 习题11-7 奇数值结点链表
题目要求:本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中奇数值的结点重新组成一个新的链表。链表结点定义如下:struct ListNode { int data; ListNode *next;};函数接口定义:struct ListNode *readlist();struct ListNode *getodd( struct ListNode **L );函数readlist从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到−1时表示输入结束,函数
2021-08-11 21:12:09
325
原创 浙大版《C语言程序设计(第4版)》题目集 习题11-6 查找子串
题目要求:本题要求实现一个字符串查找的简单函数。函数接口定义:char *search( char *s, char *t );函数search在字符串s中查找子串t,返回子串t在s中的首地址。若未找到,则返回NULL。裁判测试程序样例:#include <stdio.h>#define MAXS 30char *search(char *s, char *t);void ReadString( char s[] ); /* 裁判提供,细节不表 */int main()
2021-08-10 19:56:33
365
原创 浙大版《C语言程序设计(第4版)》题目集 习题11-5 指定位置输出字符串
题目要求:本题要求实现一个函数,对给定的一个字符串和两个字符,打印出给定字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符。函数接口定义:char *match( char *s, char ch1, char ch2 );函数match应打印s中从ch1到ch2之间的所有字符,并且返回ch1的地址。裁判测试程序样例:#include <stdio.h>#define MAXS 10char *match( char *s, char ch1, ch
2021-08-10 19:00:25
723
原创 浙大版《C语言程序设计(第4版)》题目集 习题11-4 字符串的连接
题目要求:本题要求实现一个函数,将两个字符串连接起来。函数接口定义:char *str_cat( char *s, char *t );函数str_cat应将字符串t复制到字符串s的末端,并且返回字符串s的首地址。裁判测试程序样例:#include <stdio.h>#include <string.h>#define MAXS 10char *str_cat( char *s, char *t );int main(){ char *p;
2021-08-10 16:05:23
869
原创 浙大版《C语言程序设计(第4版)》题目集 习题11-3 计算最长的字符串长度
题目要求:本题要求实现一个函数,用于计算有n个元素的指针数组s中最长的字符串的长度。函数接口定义:int max_len( char *s[], int n );其中n个字符串存储在s[]中,函数max_len应返回其中最长字符串的长度。裁判测试程序样例:#include <stdio.h>#include <string.h>#include <stdlib.h>#define MAXN 10#define MAXS 20int max_le
2021-08-10 15:53:39
244
原创 浙大版《C语言程序设计(第4版)》题目集 习题11-2 查找星期
题目要求:本题要求实现函数,可以根据下表查找到星期,返回对应的序号。序号 星期0 Sunday1 Monday2 Tuesday3 Wednesday4 Thursday5 Friday6 Saturday函数接口定义:int getindex( char *s );函数getindex应返回字符串s序号。如果传入的参数s不是一个代表星期的字符串,则返回-1。裁判测试程序样例:#include <stdio.h>#include <string.h>
2021-08-09 22:24:30
288
原创 浙大版《C语言程序设计(第4版)》题目集 习题11-1 输出月份英文名
题目要求:本题要求实现函数,可以返回一个给定月份的英文名称。函数接口定义:char *getmonth( int n );函数getmonth应返回存储了n对应的月份英文名称的字符串头指针。如果传入的参数n不是一个代表月份的数字,则返回空指针NULL。裁判测试程序样例:#include <stdio.h>char *getmonth( int n );int main(){ int n; char *s; scanf("%d", &n);
2021-08-09 21:29:59
324
原创 浙大版《C语言程序设计(第4版)》题目集 练习11-4 字符定位(最后一次找到的字符)
题目要求:本题要求定义一个函数,在字符串中查找字符,并定位在最后一次找到的位置。函数接口定义:char * match(char *s, char ch);其中s是字符串首地址,ch是要查找的字符。要求函数在字符串s中查找字符ch,如果找到,返回最后一次找到的该字符在字符串中的位置(地址);否则,返回空指针NULL。裁判测试程序样例:#include <stdio.h> char *match(char *s, char ch); int main(void ){
2021-08-09 21:18:00
7219
1
原创 浙大版《C语言程序设计(第4版)》题目集 习题10-11 有序表的增删改查操作
题目要求:首先输入一个正整数N(1≤N≤1000)和一个无重复元素的、从小到大排列的、N个元素的有序表,然后在屏幕上显示以下菜单(编号和选项)。[1] Insert[2] Delete[3] Update[4] Query[Other option] End用户可以反复对该有序表进行插入、删除、修改和查找操作,也可以选择结束。当用户输入编号1~4和相关参数时,将分别对该有序表进行插入、删除、修改和查找操作,输入其他编号,则结束操作。本题要求实现4个函数,分别在有序表(数组)中插入、删除、修
2021-08-06 19:28:20
2664
1
原创 浙大版《C语言程序设计(第4版)》题目集 习题10-8 递归实现顺序输出整数
题目要求:本题要求实现一个函数,对一个整数进行按位顺序输出。函数接口定义:void printdigits( int n );函数printdigits应将n的每一位数字从高位到低位顺序打印出来,每位数字占一行。裁判测试程序样例:#include <stdio.h>void printdigits( int n );int main(){ int n; scanf("%d", &n); printdigits(n); retur
2021-08-05 20:55:38
204
原创 浙大版《C语言程序设计(第4版)》题目集 习题10-7 十进制转换二进制
题目要求:本题要求实现一个函数,将正整数n转换为二进制后输出。函数接口定义:void dectobin( int n );函数dectobin应在一行中打印出二进制的n。建议用递归实现。裁判测试程序样例:#include <stdio.h>void dectobin( int n );int main(){ int n; scanf("%d", &n); dectobin(n); return 0;}/* 你的代码将被嵌在
2021-08-05 20:39:42
334
原创 浙大版《C语言程序设计(第4版)》题目集 习题10-6 递归求Fabonacci数列
题目要求:本题要求实现求Fabonacci数列项的函数。Fabonacci数列的定义如下:f(n)=f(n−2)+f(n−1) (n≥2),其中f(0)=0,f(1)=1。函数接口定义:int f( int n );函数f应返回第n个Fabonacci数。题目保证输入输出在长整型范围内。建议用递归实现。裁判测试程序样例:#include <stdio.h>int f( int n );int main(){ int n; scanf("%d", &am
2021-08-05 20:27:58
253
原创 浙大版《C语言程序设计(第4版)》题目集 习题10-5 递归计算Ackermenn函数
题目要求:本题要求实现Ackermenn函数的计算,其函数定义如下:函数接口定义:int Ack( int m, int n );其中m和n是用户传入的非负整数。函数Ack返回Ackermenn函数的相应值。题目保证输入输出都在长整型范围内。裁判测试程序样例:#include <stdio.h>int Ack( int m, int n );int main(){ int m, n; scanf("%d %d", &m, &n);
2021-08-05 20:02:23
197
原创 浙大版《C语言程序设计(第4版)》题目集 习题10-4 递归求简单交错幂级数的部分和
题目要求:本题要求实现一个函数,计算下列简单交错幂级数的部分和:f(x,n)=x−x ^2+x ^3−x ^4+⋯+(−1) ^n−1x ^n函数接口定义:double fn( double x, int n );其中题目保证传入的n是正整数,并且输入输出都在双精度范围内。函数fn应返回上述级数的部分和。建议尝试用递归实现。裁判测试程序样例:#include <stdio.h>double fn( double x, int n );int main(){ do
2021-08-05 19:46:35
864
原创 浙大版《C语言程序设计(第4版)》题目集 习题10-3 递归实现指数函数
题目要求:本题要求实现一个计算x ^n(n≥1)的函数。函数接口定义:double calc_pow( double x, int n );函数calc_pow应返回x的n次幂的值。建议用递归实现。题目保证结果在双精度范围内。裁判测试程序样例:#include <stdio.h>double calc_pow( double x, int n );int main(){ double x; int n; scanf("%lf %d", &
2021-08-05 17:57:26
315
原创 浙大版《C语言程序设计(第4版)》题目集 习题10-2 递归求阶乘和
题目要求:本题要求实现一个计算非负整数阶乘的简单函数,并利用该函数求 1!+2!+3!+…+n! 的值。函数接口定义:double fact( int n );double factsum( int n );函数fact应返回n的阶乘,建议用递归实现。函数factsum应返回 1!+2!+…+n! 的值。题目保证输入输出在双精度范围内。裁判测试程序样例:#include <stdio.h>double fact( int n );double factsum( int n
2021-08-05 17:48:27
255
原创 浙大版《C语言程序设计(第4版)》题目集 习题10-1 判断满足条件的三位数
题目要求:本题要求实现一个函数,统计给定区间内的三位数中有两位数字相同的完全平方数(如144、676)的个数。函数接口定义:int search( int n );其中传入的参数int n是一个三位数的正整数(最高位数字非0)。函数search返回[101, n]区间内所有满足条件的数的个数。裁判测试程序样例:#include <stdio.h>#include <math.h>int search( int n );int main(){ int
2021-08-04 20:58:54
360
原创 浙大版《C语言程序设计(第4版)》题目集 练习10-1 使用递归函数计算1到n之和
题目要求:本题要求实现一个用递归计算1+2+3+…+n的和的简单函数。函数接口定义:int sum( int n );该函数对于传入的正整数n返回1+2+3+…+n的和;若n不是正整数则返回0。题目保证输入输出在长整型范围内。建议尝试写成递归函数。裁判测试程序样例:#include <stdio.h>int sum( int n );int main(){ int n; scanf("%d", &n); printf ("%d\n", s
2021-08-04 19:40:05
242
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人