C语言函函数嵌套
一、实验作业
1.1 PTA题目
设计思路
1.定义整形变量i,if(b==n-1)用于递归的终止,并返回1.
2.for i=b to n ,if(a[i]<a[min]);进行升序排序
3.sort(a,n)递归.
代码截图

调试问题
- 没有
1.2 学生成绩管理系统
1.2.1 画函数模块图,简要介绍函数功能。

1.2.2 截图展示你的工程文件

1.2.3 函数代码部分截图






1.2.4 调试结果展示







1.2.5 调试碰到问题及解决办法。
- 对于变量Count,没有用extern进行全局定义,造成的错误.
二、截图本周题目集的PTA最后排名。

三、阅读代码
#include <bits/stdc++.h>
using namespace std;
int n, tp, cnt;
int ans[14][14];
void Ans(int m);
int main()
{
int T;
scanf("%d", &T);
while(T--)
{
scanf("%d", &n);
tp = 0, cnt = 0;
Ans(n);
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
printf("%d%c", ans[i][j], j == n-1? '\n': '\t');
}
}
if(T != 0)
printf("\n");
}
return 0;
}
void Ans(int m)
{
int i, j;
if(m <= 0)
return;
else
{
i = tp;
for(j = tp; j < tp+m; j++)
ans[i][j] = ++cnt;
j = tp+m-1;
for(i = tp+1; i < tp+m; i++)
ans[i][j] = ++cnt;
i = tp+m-1;
for(j = tp+m-2; j >= tp; j--)
ans[i][j] = ++cnt;
j = tp;
for(i = tp+m-2; i > tp; i--)
ans[i][j] = ++cnt;
tp++;
Ans(m-2);
}
}
- 这套题是pta数组的螺旋方阵的题目,不过用的是递归的方法通过临界条件以正方形由远到近层层遍历来输出螺旋方阵,看的不是很懂,用递归方法确实很新颖.
四、本周学习总结
1.介绍本周学习内容
- 1.二维指针
- 2.二维数组中指针的等价关系
- 3.通过函数的嵌套将各程序文件模块连在一起,构成一个大模块.
- 4.malloc()函数可以动态分配相应大小的内存单元,采用动态分配内存的方法处理多个字符串,避免内存的浪费,最后要用free释放内存
- 5.宏#define,可以定义字符串等,类似函数.
2.学习体会。
- 学业压力挺大的,平时上课讲的内容没有完全弄懂.,尤其是这周学的malloc()函数和宏,还有学生信息管理系统,真的一头雾水.
另外之前的pta数组的题目也难度很大,做不出来很难受.期末马上就要来了,要复习的内容很多,感觉力不从心.希望自己保持好
的心态,认真复习,迎接即将到来的期末考.
C语言函函数嵌套的更多相关文章
- C语言:函数嵌套2^2!+3^2!
#include <stdio.h> long f1(int p); long f2(int q); int main (){ int i = 0; long s = 0; for(i = ...
- Swift2.0语言教程之函数嵌套调用形式
Swift2.0语言教程之函数嵌套调用形式 Swift2.0语言函数嵌套调用形式 在Swift中,在函数中还能够调用函数,从而形成嵌套调用.嵌套调用的形式往往有两种:一种是在一个函数中调用其它函数:还 ...
- C语言-自定义函数
C语言自定义函数 --1-- 自定义函数定义 1.1 无参无返回值函数 1.2 无参有返回值函数 1.3 有参无返回值函数 1.4 有参有返回值函数 --2-- 函数的参数 2.1 形式参数介绍和使用 ...
- 【学习笔记】【C语言】函数
一. 什么是函数 任何一个C语言程序都是由一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为“函数”.所以,你可以说C语言程序是由函数构成的. 比如你用C语言编写了一 ...
- 【转载】 c语言inline函数的使用
c语言inline函数的使用 转载自:http://blog.chinaunix.net/uid-21843265-id-3056446.html 大学在教科书上学习过inline函数,定义为inli ...
- 【C语言】函数和自定义函数
函数,我之前也提到过一点点内容.其实函数是很好理解的,但是写起来又十分麻烦. 一. 函数引入 我们知道,C源程序是由函数组成的.请看下面的简单函数例子 #include <stdio.h ...
- 不使用回调函数的ajax请求实现(async和await简化回调函数嵌套)
在常规的服务器端程序设计中, 比如说爬虫程序, 发送http请求的过程会使整个执行过程阻塞,直到http请求响应完成代码才会继续执行, 以php为例子 $url = "http://www. ...
- python基础—函数嵌套与闭包
python基础-函数嵌套与闭包 1.名称空间与作用域 1 名称空间分为: 1 内置名称空间 内置在解释器中的名称 2 全局名称空间 顶头写的名称 3 局部名称空间 2 找一个名称的查找顺序: ...
- python基础----函数的定义和调用、return语句、变量作用域、传参、函数嵌套、函数对象、闭包、递归函数
1.函数的定义: 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可 ...
随机推荐
- POI生成word文档完整案例及讲解
一,网上的API讲解 其实POI的生成Word文档的规则就是先把获取到的数据转成xml格式的数据,然后通过xpath解析表单式的应用取值,判断等等,然后在把取到的值放到word文档中,最后在输出来. ...
- 异常-----spring明明注入了Service到Action中,为什么运行的时候Service为空,在抽象类中,有子类来继承的
xml的配置文件 <bean id="fftController" class="com.bill99.query.controller.FftController ...
- lvy打包到本地
图解
- Linux之权限管理
一.文件基本权限 1) 基本权限的修改 第一位"-"为文件类型(-代表文件:d代表目录:l代表软链接文件即快捷方式),后面每3位一组. -rw-r--r-- rw- u所有者 ...
- 漫漫人生路,学点Jakarta基础-重写(覆盖)、重载
首先我们现在开始进入Jakarta的时代,由原甲骨文易主到 Eclipse基金会下,但是不想舍弃java名字,因此基金会重新投票选出了Jakarta EE(雅加达).但是我们明白换汤汤不换药的道理,基 ...
- 【Luogu3768】简单的数学题(莫比乌斯反演,杜教筛)
[Luogu3768]简单的数学题(莫比乌斯反演,杜教筛) 题面 洛谷 \[求\sum_{i=1}^n\sum_{j=1}^nijgcd(i,j)\] $ n<=10^9$ 题解 很明显的把\( ...
- 基于Redis的简单分布式锁的原理
参考资料:https://redis.io/commands/setnx 加锁是为了解决多线程的资源共享问题.Java中,单机环境的锁可以用synchronized和Lock,其他语言也都应该有自己的 ...
- TP5 模型类和Db类的使用区别
原文:http://www.upwqy.com/details/3.html 总结 在控制器中 模型操作 get() 和 all() 只能单独使用来查询数据 想要链式操作查询数据 需要使用f ...
- Infinite Fraction Path HDU 6223 2017沈阳区域赛G题题解
题意:给你一个字符串s,找到满足条件(s[i]的下一个字符是s[(i*i+1)%n])的最大字典序的长度为n的串. 思路:类似后缀数组,每次倍增来对以i开头的字符串排序,复杂度O(nlogn).代码很 ...
- HIVE和HADOOP的一些东西
今天刚上班就要更新一个hive表(新年好呀我想说...),由于建立的外表直接替换hdfs文件就行了,但是替换完发现少了二行数据,原来之前做了关联,这就要用到hive的insert了! 先来说一下hiv ...