这个作业属于那个课程

C语言程序设计II

6-1 计算最长的字符串长度

本题要求实现一个函数,用于计算有n个元素的指针数组s中最长的字符串的长度。

函数接口定义:

int max_len( char *s[], int n );

其中n个字符串存储在s[]中,函数max_len应返回其中最长字符串的长度。

裁判测试程序样例:

#include

#include

#include

#define MAXN 10

#define MAXS 20

int max_len( char *s[], int n );

int main()

{

int i, n;

char *string[MAXN] = {NULL};

scanf("%d", &n);

for(i = 0; i < n; i++) {

string[i] = (char *)malloc(sizeof(char)*MAXS);

scanf("%s", string[i]);

}

printf("%d\n", max_len(string, n));

return 0;

}

/* 你的代码将被嵌在这里 */

输入样例:

4

blue

yellow

red

green

输出样例:

6

1.实验代码:

int max_len( char *s[], int n )

{

int b[11];

int i;

int m=0;

for(i=0; i

{

b[i]=strlen(s[i]);

if(b[m]

{

b[m]=b[i];

}

}

return b[m];

}

3.错误:

遇到的问题:运行超时

解决方法:定义大一点的数组

4.运行截图:

6-2 统计专业人数

本题要求实现一个函数,统计学生学号链表中专业为计算机的学生人数。链表结点定义如下:

struct ListNode {

char code[8];

struct ListNode *next;

};

这里学生的学号共7位数字,其中第2、3位是专业编号。计算机专业的编号为02。

函数接口定义:

int countcs( struct ListNode *head );

其中head是用户传入的学生学号链表的头指针;函数countcs统计并返回head链表中专业为计算机的学生人数。

裁判测试程序样例:

#include

#include

#include

struct ListNode {

char code[8];

struct ListNode *next;

};

struct ListNode *createlist(); /*裁判实现,细节不表*/

int countcs( struct ListNode *head );

int main()

{

struct ListNode *head;

head = createlist();

printf("%d\n", countcs(head));

return 0;

}

/* 你的代码将被嵌在这里 */

输入样例:

1021202

2022310

8102134

1030912

3110203

4021205

#

输出样例:

3

1.实验代码:

int countcs( struct ListNode *head )

{

struct ListNode s=*head;

int SUM=0;

for(s=head; s!=NULL; s=s->next){

if(s->code[1] == '0' && s->code[2] == '2')

{

SUM++;

}

}

return SUM;

}

3.错误:

遇到的问题:->使用错误。

解决方法:在看书和百度理解->的用法

4.运行截图:

6-3 删除单链表偶数节点

本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中偶数值的结点删除。链#表结点定义如下:

~~~

struct ListNode {

int data;

struct ListNode *next;

};

~~~

函数接口定义:

struct ListNode *createlist();

struct ListNode *deleteeven( struct ListNode *head );

函数createlist从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到−1时表示输入结束,函数应返回指向单链表头结点的指针。

函数deleteeven将单链表head中偶数值的结点删除,返回结果链表的头指针。

裁判测试程序样例:

#include

#include

struct ListNode {

int data;

struct ListNode *next;

};

struct ListNode *createlist();

struct ListNode *deleteeven( struct ListNode *head );

void printlist( struct ListNode *head )

{

struct ListNode *p = head;

while (p) {

printf("%d ", p->data);

p = p->next;

}

printf("\n");

}

int main()

{

struct ListNode *head;

head = createlist();

head = deleteeven(head);

printlist(head);

return 0;

}

/* 你的代码将被嵌在这里 */

输入样例:

1 2 2 3 4 5 6 7 -1

输出样例:

1 3 5 7

代码

struct ListNode *createlist()

{

int x;

struct ListNode *head,*tail,*p;

head=(struct ListNode*)malloc(sizeof(struct ListNode));

head->next=NULL;

tail=head;

while(1)

{

p=(struct ListNode*)malloc(sizeof(struct ListNode));

p->next=NULL;

scanf("%d",&x);

if(x==-1)

break;

p->data=x;

p->next=NULL;

tail->next=p;

tail=p;

}

return head;

}

struct ListNode *deleteeven( struct ListNode *head )

{

struct ListNode *p1,*p2;

int flag;

p1=head;

p2=p1->next;

while(p1->next)

{

flag=0;

if(p2->data%2==0)

{

p1->next=p2->next;

p2=p2->next;

flag=1;

}

if(flag==0)/

{

p1=p1->next;

p2=p1->next;

}

}

return head->next;

}

3.错误:

遇到的问题:对于链表结构的理解不够深刻,然后在使用的时候,就会出现各种各样的错误

4.运行截图:

心得

链表上课听了实在是没怎么听懂,都要自己百度看书,还是有很多不会,这周的题目做的我累死了,很是吃了

耗时:30小时

编程总结的感受

优点

结合两个人的思路能够更便捷的写出题目,并且发生错误的情况也会减少

缺点

多角度思考,难以统一思路

学习进度条

周/日期

这周所花的时间

代码行数

学到的知识点简介

目前比较迷惑问题

5/4-5/10

30h

400

指针函数 ,函数指针

链表

c语言删除偶数号节点,第十二周作业相关推荐

  1. 20189200余超 2018-2019-2 移动平台应用开发实践第十二周作业

    20189200余超 2018-2019-2 移动平台应用开发实践第十二周作业 服务 Service的声明 Service是Android中的四大组件,使用它一定要在AndroidManifest.x ...

  2. 中国大学mooc网上C++第十二周作业3

    中国大学mooc网上C++第十二周作业3 12.3重载加法运算符的复数运算 题目内容: 定义一个复数类,并重载加法运算符(+)和赋值运算符(=)以适用对复数运算的要求. 输入格式: 依次输入两个复数的 ...

  3. 2019春第十二周作业

    作业头内容 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 C语言作业评价标准 我在这个课程的目标是 学习二级指针的概念:掌握指针数组的应用方法:理解指针与函数的关系,学习指针作为函数返 ...

  4. 2019春第十二周作业Compile Summarize

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 这里 我在这个课程的目标是 能按自己的想法解出题目 这个作业在那个具体方面帮助我实现目标 能朝着软件工程师方向发展 参考文献与网址 C语言 ...

  5. 第十二周作业任务2-1

    实验目的:学会使用循环控制语句解决实际问题 实验内容:编写大奖赛用的计分程序 * 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了) * 程序的版权和版本声明部分 * Copy ...

  6. 20169210《Linux内核原理与分析》第十二周作业

    Return-to-libc 攻击实验 缓冲区溢出的常用攻击方法是用 shellcode 的地址来覆盖漏洞程序的返回地址,使得漏洞程序去执行存放在栈中 shellcode.为了阻止这种类型的攻击,一些 ...

  7. mysql选择前12周_第十二周作业

    1.编写脚本,支持让用户自主选择,使用mysqldump还是xtraback全量备份. 2.配置Mysql主从同步 3.使用MHA实现Mysql高可用. 1.编写脚本,支持让用户自主选择,使用mysq ...

  8. 20169212《Linux内核原理及分析》第十二周作业

    格式化字符串漏洞实验 格式化字符串漏洞是由像 printf(user_input) 这样的代码引起的,其中 user_input 是用户输入的数据,具有 Set-UID root 权限的这类程序在运行 ...

  9. 软件需求工程与UML建模第十二周作业

    人员分工 ·张青龙:组织工作,汇集组员成果,制作ppt,撰写需求文档 ·吴国玄:进行涉众分析 ·赵子昱:进行原型分析 ·周彦哲:与甲方面谈 ·陈泇兴:硬数据采样 ·唐思凡:撰写博客 项目前景与范围 项 ...

最新文章

  1. 飞机上一般是什么操作系统?
  2. FF小股东美国起诉恒大 要求收回中国公司控制权
  3. 高等数学:第二章 导数与微分(3)函数微分 近似计算
  4. Deep Learning论文笔记之(六)Multi-Stage多级架构分析
  5. lingo变量无限制版本_Quicker 0.10.7 版本发布
  6. 基本数据结构之BinarySearchTree
  7. ImportError: No module named sklearn.metrics
  8. bootstrap组件
  9. 讯飞输入法pad版x86_观察:不惧腾讯、阿里,科大讯飞推出在线文档App“讯飞文档”...
  10. chrome charset使用_使用JWT保护你的Spring Boot应用 Spring Security实战
  11. Educoder:JavaScript学习手册十一:JSON
  12. FEMTO-ST轴承数据集 (IEEE PHM 2012)
  13. 机器学习:局部加权线性回归(Locally Weighted Linear Regression)
  14. shell编程中空格的使用
  15. 四轴飞行器资料分享,几个G ,66个文件,如果链接失效请私聊我
  16. 工业物联网的数据集成
  17. 用 Matlab 实现 GS 算法设计计算全息图
  18. B1线条情感测评数据分析
  19. 用深度学习做个艺术画家 ——模仿实现PRISMA
  20. 一文饱览年度AI盛宴!WAVE SUMMIT+2021峰会精彩回顾

热门文章

  1. NLP文本生成模型数据准备及实战
  2. win32ctypes.pywin32.pywintypes.error: (2, ‘LoadLibraryEx‘, ‘系统找不到指定的文件。‘)
  3. 可视化神经网络的网络结构并保存
  4. 一键编译php,编译安装php 附加一键安装php5.6.30脚本
  5. Assembly and diploid architecture of an individual human genome via single-molecule technologies
  6. oracle之 手动创建 emp 表 与 dept 表
  7. 3dsmax 长动画导入 three.js 转变成 多个动画
  8. AI 利用BP算法及Sigmoid函数,研究函数f(x)=2sinx-0.7的逼近问题-实验报告
  9. 语义分割--Deep Dual Learning for Semantic Image Segmentation
  10. Java计算数学表达式(字符串形式)