函数嵌套调用

本文分享了一项关于使用递归方法进行数据排序的实验作业,同时介绍了学生成绩管理系统的开发过程,包括函数模块图设计、代码实现及调试经验。文章还探讨了链表的基本概念及其组成部分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、实验作业(5分)

1.1 PTA题目 递归法对任意10个数据按降序排序

设计思路
void sort(int a[],int n){
如果从主函数传进来的是1 直接退出
定义min=2147483647存放最小值,定义i=10-n,temp,t;
for i=0 to i=9 {
如果a[i]>=0{
if(a[i]<min){
min=a[i];
t=i;}}}
交换第10-n个数和剩下的最大数:
temp=a[10-n];
a[10-n]=min;
a[t]=temp;
sort(a,n-1);
}
end for
代码截图
1233807-20171227131850269-1650489704.png
调试问题
在写的时候运行出现只有第一个放了,后将a[0]换成a[10-n]就全换了

1.2 学生成绩管理系统

1.2.1 画函数模块图,简要介绍函数功能:

1233807-20180101201703581-1488117950.png

1.2.2 截图展示你的工程文件:

1233807-20180101202248815-1473513563.png1.2.3 函数代码部分截图

1.2.3 函数代码部分截图

本系统代码总行数:285
要求截图你的头文件、插入学生信息及学生成绩信息代码、删除学生成绩信息代码、总分排序代码。
代码中务必加入必要的注释。
1233807-20180104230920612-523477372.png
1233807-20180104231108409-531336367.png
1233807-20180104231135690-1942811536.png
1233807-20180104231148909-514856187.png
1233807-20180104231156096-1040248167.png

1.2.4 调试结果展示

要求分别展示菜单、每个命令运行结果,对非法数据必须有检验并提示,如用户学号输入非法、或者输入重复学号,提示插入失败。查询不到相应学生信息给予提示等等。
测试样例越多,分值越高
要求截图你的头文件、插入学生信息及学生成绩信息代码、删除学生成绩信息代码、总分排序代码。
1233807-20180104231336299-1983652643.png
未输入成绩输出:1233807-20180104231421956-845678978.png
正确输入:1233807-20180104231705034-1396597689.png
排序:1233807-20180104231729628-723817284.png

代码中务必加入必要的注释。

二、截图本周题目集的PTA最后排名。(2分)

1233807-20171227132020456-987570866.png

三、阅读代码(2分)

char * strcat(char s, const char append)
{
//将s所指向的字符串的首地址保存下来,以便使用
char *save = s;

    //将s所指向的字符串的首指针移至串尾处,s指针指向的字符元素为'\0'  
    for (; *s; ++s);  
  
    //将append所指的字符串的元素复制到s所指向的字符串尾部,直至遇到'\0'  
    while ((*s++ = *append++) != '\0');  
      
    //返回追加后的字符串首地址  
    return(save);  

}
这是OpenBSD对strcat的源代码,本函数的重点是将s所指向的字符串的首指针移至串尾处,十分巧妙。

四、本周学习总结(1分)

1.总结本周学习内容。

1.1 链表是什么?

链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。

1.2 链表由什么组成

链表由一系列结点组成

1.3递归函数

就是反复调用自己 直到找到出口的函数

2.罗列本周一些错题。

2.11233807-20171231224642788-1192772423.png

错选C 答案D 错误原因:看错

2.21233807-20171231225227960-2059866080.png

错选B 答案A 按照B选项修改后可能导致文件编译不过

转载于:https://www.cnblogs.com/linyipeng/p/8110779.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值