05 2016 档案
摘要:题目描述 findFinal函数的功能是求出s所指字符串中最后一次数显的t所指向的子字符串地址,通过函数值返回。 在主函数中输入从此地址开始的字符串,若未找到,则函数返回NULL. 例如,输入"pmbhahahahpmbyyy",t中输入"pmb",则程序返回"pmbyyy". 输入描述 输入2行字
阅读全文
摘要:今天的内容有点多,分成了两篇,这里是比较简单的第一篇,是总结安装、启动和关闭的过程,先上图,点击放大。 一些SQL命令和语句: 建立数据库时加cache子句可以把表同时建立在内存中,读取时优先读取该表: 查看内存中的表: 查询参数信息: 生成pfile和spfile: 按步骤启动数据库: 启动时指定
阅读全文
摘要:这一篇是总结Oracle的数据库管理(database),重点是其物理存储部分。 一些SQL命令: 手工切换重做日志文件组: 添加联机重做日志文件组: 添加联机重做日志文件组成员: 删除联机重做日志文件组(当前组不能删除,至少保留两组): 删除联机重做日志文件组成员(只有一个成员时不能删除): 清除
阅读全文
摘要:这是我的Oracle学习笔记系列的第一篇,主要总结了Oracle的体系结构,要学好Oracle,就要先了解Oracle的运行机制和原理。把今天学习的内容整理了一个图,备忘,点击可放大。 另外,还有几个语句(sql*plus): SYS用户登录 解锁scott用户 切换到scott用户 Null值参与
阅读全文
摘要:一、指针与指针地址 1. 地址 计算机的内存被划分成一个个存储单元,这些存储单元按一定的规则编号,这个编号就是存储单元的地址。每个存储单元大小为一个字节,每个单元的地址是唯一的。 2. 变量的地址 在程序中所有的变量都要分配相应的存储单元,不同数据类型所需要的存储空间的大小不同。系统分配给变量的内存
阅读全文
摘要:sprintf int sprintf( char *buffer, const char *format, [ argument] … ); buffer:char型指针,指向将要写入的字符串的缓冲区。 format:格式化字符串。 [argument]...:可选参数,可以是任何类型的数据。 把
阅读全文
摘要:1. 空格当作字符串结束的字符 2. 回车当作字符串结束的字符 3. 非1当作字符串结束的字符 4. 非大写字母当作字符串结束的字符 5. 非字母数字当作字符串结束的字符
阅读全文
摘要:题目描述 输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。 输入描述 输入有多组数据,每组测试数据包括两行。第一行为一个整数n(0<=n<=100000),当n=0时,输入结束。 接下去的一行包含n个整数(我们保证所有整数属于[-1000,
阅读全文
摘要:问题描述 FJ在沙盘上写了这样一些字符串: A1 = “A” A2 = “ABA” A3 = “ABACABA” A4 = “ABACABADABACABA” … … 你能找出其中的规律并写所有的数列AN吗? 输入格式 仅有一个数:N ≤ 26。 输出格式 请输出相应的字符串AN,以一个换行符结束。
阅读全文
摘要:1 #include 2 #include 3 4 void swap(char text[], char a[], char b[]) 5 { 6 char *str = text, back[20]; 7 while ((str = strstr(str, a)) != NULL) 8 { 9 strcpy(back, str + ...
阅读全文
摘要:公式 蔡勒(Zeller)公式,是一个计算星期的公式,随便给一个日期,就能用这个公式推算出是星期几。 若要计算的日期是在1582年10月4日或之前,公式则为 以1582年9月3日为例: 1582年9月3日后:w = (d + 2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7; 1
阅读全文
摘要:问题描述 有n个人围成一圈,顺序排号(编号为1到n)。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子。从下一个人开始继续报数,直到剩下最后一个人,游戏结束。 问最后留下的是原来第几号的那位。 举个例子,8个人围成一圈: 1 2 3 4 5 6 7 8 第1次报数之后,3退出,剩下: 1 2
阅读全文
摘要:问题描述 道德经曰:一生二,二生三,三生万物。 对于任意正整数n,我们定义d(n)的值为为n加上组成n的各个数字的和。例如,d(23)=23+2+3=28, d(1481)=1481+1+4+8+1=1495。 因此,给定了任意一个n作为起点,你可以构造如下一个递增序列:n,d(n),d(d(n))
阅读全文
摘要:问题描述 78这个数可以表示为连续正整数的和,1+2+3,18+19+20+21,25+26+27。 输入描述 输入一个正整数 n(<=10000) 输出描述 输出 m 行(n有m种表示法),每行是两个正整数a,b,表示a+(a+1)+...+b=n。 对于多种表示法,a小的方案先输出。 样例输入
阅读全文
摘要:题目描述 定义一个学生结构体类型student,包括4个字段,姓名、性别、年龄和成绩。然后在主函数中定义一个结构体数组(长度不超过1000),并输入每个元素的值,程序使用冒泡排序法将学生按照成绩从小到大的顺序排序,然后输出排序的结果。输入格式 第一行是一个整数N(N<1000),表示元素个数;接下来
阅读全文
摘要:题目描述 有一份提货单,其数据项目有:商品名(MC)、单价(DJ)、数量(SL)。定义一个结构体prut,其成员是上面的三项数据。在主函数中定义一个prut类型的结构体数组,输入每个元素的值,计算并输出提货单的总金额。输入格式 第一行是数据项个数N(N<100),接下来每一行是一个数据项。商品名是长
阅读全文
摘要:问题描述 相信经过这个学期的编程训练,大家对于字符串的操作已经掌握的相当熟练了。今天,徐老师想测试一下大家对于字符串操作的掌握情况。徐老师自己定义了1,2,3,4,5这5个参数分别指代不同的5种字符串操作,你需要根据传入的参数,按照徐老师的规定,对输入字符串进行格式转化。 徐老师指定的操作如下: 1
阅读全文
摘要:题目描述 现在给你一个由小写字母组成字符串,要你找出字符串中出现次数最多的字母,如果出现次数最多字母有多个那么输出最小的那个。 输入描述 第一行输入一个正整数T(0<T<25) 随后T行输入一个字符串s,s长度小于1010。 输出描述 每组数据输出占一行,输出出现次数最多的字符; 输入样例 输出样例
阅读全文
摘要:题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”。 例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 测试代码
阅读全文
摘要:题目描述 对于一个有序数组,我们通常采用二分查找的方式来定位某一元素,请编写二分查找的算法,在数组中查找指定元素。 给定一个整数数组A及它的大小n,同时给定要查找的元素val,请返回它在数组中的位置(从0开始),若不存在该元素,返回-1。若该元素出现多次,请返回第一次出现的位置。 输入描述 第一行输
阅读全文
摘要:题目描述 老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。 输入描述 输入包括多组测试数据。 每组输入第一行是两个正整数N和M(0 < N <= 30000,0 < M < 5000),分别代表学生的数目和操作的数目。学生ID编号从1编
阅读全文
摘要:题目描述 连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; 长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 输入描述 连续输入字符串(输入2次,每个字符串长度小于100) 输出描述 输出到长度为8的新字符串数组 照例输入 照例输出 测试代码
阅读全文
摘要:题目描述 实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。 输入描述 字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。 输出描述 删除字符串中出现次数最少的字符后的字符串。 输入样例 输
阅读全文
摘要:题目描述 输入一个int型数据,计算出该int型数据在内存中存储时1的个数。 输入描述 输入一个整数(int类型) 输出描述 这个数转换成2进制后,输出1的个数 输入样例 输出样例 测试代码1 测试代码2
阅读全文
摘要:题目描述 给定n个字符串,请对n个字符串按照字典序排列。 输入描述 输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。 输出描述 数据输出n行,输出结果为按照字典序排列的字符串。 输入样例 输出样例 C/C++测试代码1 C/C++测
阅读全文
摘要:题目描述 密码要求: 1.长度超过8位 2.包括大小写字母.数字.其它符号,以上四种至少三种 3.不能有相同长度超2的子串重复 输入描述 一组或多组长度超过2的子符串。每组占一行 输出描述 如果符合要求输出:OK,否则输出NG 输入例子 输出例子 测试代码
阅读全文
摘要:Problem Description 大赛将至,摆在你面前的是n道题目,第i(1≤i≤n) 道题目能提升ai 点智力值,代码量为bi KB,无聊值为ci。 求至少提升m点智力值的情况下,所做题目代码量之和*无聊值之和最小为多少。 样例解释: 选择第1、3、4道题 Input 多组测试
阅读全文
摘要:Problem Description 小A有一个含有nn个非负整数的数列与mm个区间。每个区间可以表示为li,ri。 它想选择其中k个区间, 使得这些区间的交的那些位置所对应的数的和最大。 例如样例中,选择[2,5]与[4,5]两个区间就可以啦。 Input 多组测试数据 第一行三个数
阅读全文
摘要:Problem Description 有一个无限大的矩形,初始时你在左上角(即第一行第一列),每次你都可以选择一个右下方格子,并瞬移过去(如从下图中的红色格子能直接瞬移到蓝色格子),求到第nn行第mm列的格子有几种方案,答案对10000000071000000007取模。 Input 多组测试数据
阅读全文
摘要:1 #include 2 #include 3 #include 4 #define LENGTH(x) (sizeof(x)) / (sizeof(x[0])) 5 6 int cmp(const void *a, const void *b) 7 { 8 return(strcmp((char*)a, (char*)b)); 9 } 10 11 void pr...
阅读全文
摘要:Problem Description 度度熊是他同时代中最伟大的数学家,一切数字都要听命于他。现在,又到了度度熊和他的数字仆人们玩排排坐游戏的时候了。游戏的规则十分简单,参与游戏的N个整数将会做成一排,他们将通过不断交换自己的位置,最终达到所有相邻两数乘积的和最大的目的,参与游戏的数字有整数也有负
阅读全文
摘要:Problem Description 众所周知,度度熊喜欢各类体育活动。今天,它终于当上了梦寐以求的体育课老师。第一次课上,它发现一个有趣的事情。在上课之前,所有同学要排成一列, 假设最开始每个人有一个唯一的ID,从1到N,在排好队之后,每个同学会找出包括自己在内的前方所有同学的最小ID,作为自己
阅读全文
摘要:Problem Description F(x,m)代表一个全是由数字x组成的m位数字。请计算,以下式子是否成立: F(x,m) mod k = c Input 第一行一个整数TT,表示TT组数据。 每组测试数据占一行,包含四个数字x, m, k, c 1 ≤ x 91 ≤ 9 1 ≤ m ≤ 10
阅读全文
摘要:问题描述 输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。 算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。 定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推。同样可以用一个数组B来存储b。 计算
阅读全文
摘要:问题描述 回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。 输入格式 输入第一行是两个不超过200的正整数m, n,表示矩阵的行和列。接下来m行每行n个整数,表示这个矩阵。 输出格式 输出只有一行,共mn个数,为输入矩阵回形取数得到的结果。数
阅读全文
摘要:问题描述 s01串初始为"0" 按以下方式变换 0变1,1变01 输入格式 1个整数(0~19) 输出格式 n次变换后s01串 样例输入 3 样例输出 101 数据规模和约定 0~19 C测试代码 1 #include <stdio.h> 2 #include <string.h> 3 4 int
阅读全文
摘要:问题描述 首先给出简单加法算式的定义: 如果有一个算式(i)+(i+1)+(i+2),(i>=0),在计算的过程中,没有任何一个数位出现了进位,则称其为简单的加法算式。 例如:i=3时,3+4+5=12,有一个进位,因此3+4+5不是一个简单的加法算式; 又如i=112时,112+113+114=3
阅读全文
摘要:问题描述 任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001。 将这种2进制表示写成2的次幂的和的形式,令次幂高的排在前面,可得到如下表达式:137=2^7+2^3+2^0 现在约定幂次用括号来表示,即a^b表示为a(b) 此时,137可表示为:2(7)+2(3)+2(0)
阅读全文
摘要:问题描述 给出两个整数集合A、B,求出他们的交集、并集以及B在A中的余集。 输入格式 第一行为一个整数n,表示集合A中的元素个数。 第二行有n个互不相同的用空格隔开的整数,表示集合A中的元素。 第三行为一个整数m,表示集合B中的元素个数。 第四行有m个互不相同的用空格隔开的整数,表示集合B中的元素。
阅读全文
摘要:描述 南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的。 小工是南将军手下的军师,南将军现在想知道第m号到第n号士兵的总杀敌数,请你帮助小工来回答南将军吧。 注意,南将军可能会问很多次问题。 样例输出 测试代码
阅读全文
摘要:题目 说起来很简单,你会读到两个字符串,每个字符串占据一行,每个字符串的长度均小于1000个字符,而且第一个字符串的长度小于第二个字符串的。 你的程序要找出第一个字符串在第二个字符串中出现的位置,输出这些位置,如果找不到,则输出-1。 注意,第一个字符的位置是0。 注意,第一个字符串在第二个字符串中
阅读全文
摘要:题目 给定一个数组arr,返回子数组的最大累加和。 例如,arr = {1, -2, 3, 5, -2, 6, 1},所有子数组中,{3, 5, -2, 6}累加出最大的和为12,所以返回12。 测试代码
阅读全文
摘要:#include int fbla(int n) { int f = 0, g = 1; while (n--) { g = g + f; f = g - f; } return g; } int main() { int n; scanf("%d", &n); printf("%d\n", f...
阅读全文
摘要:1 #include 2 #include 3 4 void addition() 5 { 6 int a, b; 7 printf("请输入2个数字:\n"); 8 scanf("%d%d", &a, &b); 9 printf("%d + %d = %d\n", a, b, a + b); 10 } 11 12 void subst...
阅读全文
摘要:1 #include 2 3 int main() 4 { 5 int m; 6 for (m = 0; m (m / 9)) 9 { 10 continue; 11 } 12 printf("%d * %d = %2d ", (m % 9) + 1, (m / 9) + 1, ((m ...
阅读全文
摘要:描述 现在给出了一个只包含大小写字母的字符串,不含空格和换行,要求把其中的大写换成小写,小写换成大写,然后输出互换后的字符串。 样例输出 测试代码
阅读全文
摘要:1 #include 2 #include 3 4 int m, n, p, q; 5 int a[10][10], b[10][10], c[10][10]; 6 int i, j, k; 7 8 void initial() 9 { 10 11 printf("请输入第一个矩阵的行数和列数:"); 12 scanf("%d%d", &m, ...
阅读全文
摘要:1 #include 2 #define N 10 3 4 void initial(int *a) 5 { 6 int i; 7 for (i = 0; i = i; j--) 28 { 29 if (a[j] > a[j + 1]) 30 { 31 a[j] = ...
阅读全文
摘要:Problem Description 度熊所居住的 D 国,是一个完全尊重人权的国度。以至于这个国家的所有人命名自己的名字都非常奇怪。一个人的名字由若干个字符组成,同样的,这些字符的全排列的结果中的每一个字符串,也都是这个人的名字。例如,如果一个人名字是 ACM,那么 AMC, CAM, MAC,
阅读全文
摘要:描述 我们平时数数都是喜欢从左向右数的,但是我们的小白同学最近听说德国人数数和我们有些不同,他们正好和我们相反,是从右向左数的。因此当他看到123时会说“321”。 现在有一位德国来的教授在郑州大学进行关于ACM的讲座。现在他聘请你来担任他的助理,他给你一些资料让你找到这些资料在书中的页数。 现在你
阅读全文
摘要:描述 我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它? 样例输出 测试代码
阅读全文
摘要:描述 笨小熊的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么
阅读全文
摘要:qsort包含在<stdlib.h>头文件中,此函数根据你给的比较条件进行快速排序,通过指针移动实现排序。排序之后的结果仍然放在原数组中。使用qsort函数必须自己写一个比较函数。 函数原型 函数一共四个参数,没返回值。 一个典型的qsort的写法如下: 第一个参数是参与排序的数组名(或者也可以理解
阅读全文
摘要:描述 在某一国度里流行着一种游戏。游戏规则为:在一堆球中,每个球上都有一个整数编号i(0<=i<=100000000),编号可重复,现在说一个随机整数k(0<=k<=100000100),判断编号为k的球是否在这堆球中(存在为"YES",否则为"NO"),先答出者为胜。现在有一个人想玩玩这个游戏,但
阅读全文
摘要:描述 所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为该元素的重数, 多重集合S重的重数最大的元素成为众数。例如:S={1,2,2,2,3,5},则多重集S的众数是2,其重数为3。 现在你的任务是:对于给定的由m个自然数组成的多重集S,计算出S的众数及其重数。 样例输
阅读全文
摘要:描述 给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No; 样例输出 测试代码
阅读全文
摘要:描述 现在给你一个自然数n,它的位数小于等于一百万,现在你要做的就是求出这个数除10003之后的余数 输入 第一行有一个整数m(1<=m<=8),表示有m组测试数据; 样例输出 测试代码
阅读全文
摘要:描述 现在给你一个自然数n,它的位数小于等于一百万,现在你要做的就是求出这个数整除九之后的余数。 输入 第一行有一个整数m(1<=m<=8),表示有m组测试数据; 随后m行每行有一个自然数n。 样例输出 分析 num除以t的余数等于num的各位数之和求余t。 测试代码
阅读全文
摘要:描述 现在给你不共线的三个点A,B,C的坐标,它们一定能组成一个三角形,现在让你判断A,B,C是顺时针给出的还是逆时针给出的? 如: 图1:顺时针给出 图2:逆时针给出 <图1> <图2> 输入 每行是一组测试数据,有6个整数x1,y1,x2,y2,x3,y3分别表示A,B,C三个点的横纵坐标。(坐
阅读全文
摘要:描述 有一楼梯共m级,若每次只能跨上一级或二级,要走上第m级,共有多少走法? 样例输出 测试代码
阅读全文
摘要:描述 给你三个点,表示一个三角形的三个顶点,现你的任务是求出该三角形的面积 输入 每行是一组测试数据,有6个整数x1,y1,x2,y2,x3,y3分别表示三个点的横纵坐标。(坐标值都在0到10000之间) 输入0 0 0 0 0 0表示输入结束 测试数据不超过10000组 输出 输出这三个点所代表的
阅读全文
摘要:描述 在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为: 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4输入 直接输入方陈的维数,即n的值。(n<=100) 样例输出 测试代码
阅读全文
摘要:描述 (图3.1-1)示出了一个数字三角形。 请编一个程序计算从顶至底的某处的一条路 径,使该路径所经过的数字的总和最大。 ●每一步可沿左斜线向下或右斜线向下走; ●1<三角形行数≤100; ●三角形中的数字为整数0,1,…99;. (图3.1-1) 输入格式 文件中首先读到的是三角形的行数。 接下
阅读全文
摘要:描述 现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度。如果左右有等距离长度素数,则输出左侧的值及相应距离。如果输入的整数本身就是素数,则输出该素数本身,距离输出0 样例输出 测试代码
阅读全文
摘要:描述 有n盏灯,编号为1~n,第1个人把所有灯打开,第2个人按下所有编号为2 的倍数的开关(这些灯将被关掉),第3 个人按下所有编号为3的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),依此类推。一共有k个人,问最后有哪些灯开着?输入:n和k,输出开着的灯编号。k≤n≤1000 样例输出 测试
阅读全文
摘要:描述 现在要写一个程序,实现给三个数排序的功能 输入三个正整数 给输入的三个正整数排序 样例输出 测试代码
阅读全文
摘要:描述 输入两点坐标(X1,Y1),(X2,Y2)(0<=x1,x2,y1,y2<=1000),计算并输出两点间的距离。 第一行输入一个整数n(0<n<=1000),表示有n组测试数据; 随后每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。 对于每组输入数据,输出一行,
阅读全文
摘要:描述 有一个整型偶数n(2<= n <=10000),你要做的是:先把1到n中的所有奇数从小到大输出,再把所有的偶数从小到大输出。 第一行有一个整数i(2<=i<30)表示有 i 组测试数据; 每组有一个整型偶数n。 第一行输出所有的奇数 第二行输出所有的偶数 样例输出 测试代码
阅读全文
摘要:描述 我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它? 样例输出 测试代码
阅读全文
摘要:描述 N!阶乘是一个非常大的数,大家都知道计算公式是N!=N*(N-1)······*2*1.现在你的任务是计算出N!的位数有多少(十进制)? 样例输出 测试代码
阅读全文
摘要:描述 小南刚学了二进制,他想知道一个数的二进制表示中有多少个1,你能帮他写一个程序来完成这个任务吗? 样例输出 测试代码1 测试代码2
阅读全文
摘要:描述 很多小学生在学习加法时,发现“进位”特别容易出错。你的任务是计算两个三位数在相加时需要多少次进位。你编制的程序应当可以连续处理多组数据,直到读到两个0(这是输入结束标记)。 样例输出 测试代码
阅读全文
摘要:描述 大家都知道阶乘这个概念,举个简单的例子:5!=1*2*3*4*5.现在我们引入一种新的阶乘概念,将原来的每个数相乘变为i不大于n的所有奇数相乘例如:5!!=1*3*5.现在明白现在这种阶乘的意思了吧! 现在你的任务是求出1!!+2!!......+n!!的正确值(n<=20) 样例输出
阅读全文
摘要:描述 已知w是一个大于10但不大于1000000的无符号整数,若w是n(n≥2)位的整数,则求出w的后n-1位的数。 样例输出 测试代码
阅读全文
摘要:描述 假设你有一个各位数字互不相同的四位数,把所有的数字从大到小排序后得到a,从小到大后得到b,然后用a-b替换原来这个数,并且继续操作。 例如,从1234出发,依次可以得到4321-1234=3087、8730-378=8352、8532-2358=6174,又回到了它自己! 现在要你写一个程序来
阅读全文
摘要:描述 已知鸡和兔的总数量为n,总腿数为m。输入n和m,依次输出鸡和兔的数目,如果无解,则输出“No answer”(不要引号)。 样例输出 测试代码
阅读全文
摘要:描述 现在给你N个数(0<N<1000),现在要求你写出一个程序,找出这N个数中的所有素数,并求和。 样例输出 测试代码
阅读全文
摘要:简介 C 标准库的 assert.h头文件提供了一个名为 assert 的宏,它可用于验证程序做出的假设,并在假设为假时输出诊断消息。 已定义的宏 assert 指向另一个宏 NDEBUG,宏 NDEBUG 不是 <assert.h> 的一部分。如果已在引用 <assert.h> 的源文件中定义 N
阅读全文
摘要:在上一章中,我们已经了解了 C 语言中如何从函数返回数组,类似地,C 允许您从函数返回指针。为了做到这点,您必须声明一个返回指针的函数,如下所示: 另外,C 不支持在函数外返回局部变量的地址,除非定义局部变量为 static 变量。 现在,让我们来看下面的函数,它会生成 10 个随机数,并使用表示指
阅读全文
摘要:C 语言允许您传递指针给函数,只需要简单地声明函数参数为指针类型即可。 下面的实例中,我们传递一个无符号的 long 型指针给函数,并在函数内改变这个值: 当上面的代码被编译和执行时,它会产生下列结果: 能接受指针作为参数的函数,也能接受数组作为参数,如下所示: 当上面的代码被编译和执行时,它会产生
阅读全文
摘要:指向指针的指针是一种多级间接寻址的形式,或者说是一个指针链。通常,一个指针包含一个变量的地址。当我们定义一个指向指针的指针时,第一个指针包含了第二个指针的地址,第二个指针指向包含实际值的位置。 一个指向指针的指针变量必须如下声明,即在变量名前放置两个星号。例如,下面声明了一个指向 int 类型指针的
阅读全文
摘要:在我们讲解指针数组的概念之前,先让我们来看一个实例,它用到了一个由 3 个整数组成的数组: 当上面的代码被编译和执行时,它会产生下列结果: 可能有一种情况,我们想要让数组存储指向 int 或 char 或其他数据类型的指针。下面是一个指向整数的指针数组的声明: 在这里,把 ptr 声明为一个数组,由
阅读全文
摘要:C 指针是一个用数值表示的地址。因此,您可以对指针执行算术运算。可以对指针进行四种算术运算:++、--、+、-。 假设 ptr 是一个指向地址 1000 的整型指针,是一个 32 位的整数,让我们对该指针执行下列的算术运算: ptr++ 在执行完上述的运算之后,ptr 将指向位置 1004,因为 p
阅读全文
摘要:学习 C 语言的指针既简单又有趣。通过指针,可以简化一些 C 编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的。所以,想要成为一名优秀的 C 程序员,学习指针是很有必要的。 正如您所知道的,每一个变量都有一个内存位置,每一个内存位置都定义了可使用连字号(&)运算符访问的地址,它表示
阅读全文
摘要:本题要求实现一个函数,求N个集合元素S[]的平均值,其中集合元素的类型为自定义的ElementType。 函数接口定义: 其中给定集合元素存放在数组S[]中,正整数N是数组元素个数。该函数须返回N个S[]元素的平均值,其值也必须是ElementType类型。 裁判测试程序样例: 输入样例: 输出样例
阅读全文
摘要:本题要求实现一个函数,求给定的N个整数的和。 函数接口定义: 其中给定整数存放在数组List[]中,正整数N是数组元素个数。该函数须返回N个List[]元素的和。 裁判测试程序样例: 输入样例: 输出样例: 代码:
阅读全文

浙公网安备 33010602011771号