程序设计实习MOOC - 程序设计与算法(三)第一周测验 4-神秘的数组初始化
2018-03-21 11:14
549 查看
程序设计实习MOOC / 程序设计与算法(三)第一周测验 4:神秘的数组初始化
标签(空格分隔): C++4:神秘的数组初始化 总时间限制: 1000ms 内存限制: 65536kB 描述 填空,使得程序输出指定结果 #include <iostream> using namespace std; int main() { int * a[] = { // 在此处补充你的代码 }; *a[2] = 123; a[3][5] = 456; if(! a[0] ) { cout << * a[2] << "," << a[3][5]; } return 0; } 输入 无 输出 123,456 样例输入 无 样例输出 123,456
想了半天,这道脑筋急转弯的语法题还是没做出来。最后问的辉哥,他想到了NULL,我又加了个new,才做出来的。
下面是补充后的程序
#include <iostream> using namespace std; int main() { int * a[] = {NULL,NULL,new int[1],new int[6]}; *a[2] = 123; a[3][5] = 456; if(! a[0] ) { cout << * a[2] << "," << a[3][5]; } return 0; }
首先确定a是个指针数组,里面的元素都是指针或者地址。然后看到*a[2],那么a[2]肯定是一个指针或者内存空间。既然要输入一个值,那我们就给a[2]分配一个int空间。再然后看到a[3][5],因此我们刚开始认为a是个二维指针数组,但是那样写起来太麻烦了。于是我们把a[3]看成a中一段连续的空间,其中的第5个元素需要赋值,所以至少需要分配内存给它。所以我分配了6个int型的空间给a[3],问题解决。
注意,从这个问题可以学到,在数组初始化时的大括号里,我们可以用到new函数。
答案不唯一。
相关文章推荐
- 程序设计实习MOOC / 程序设计与算法(一)第三周测验(2017冬季)6:求整数的和与均值
- 程序设计实习MOOC / 程序设计与算法(一)第三周测验(2017冬季)2:求一元二次方程的根
- 程序设计实习MOOC / 程序设计与算法(一)第三周测验(2017冬季)5:简单计算器
- 程序设计实习MOOC / 程序设计与算法(一)第三周测验(2017冬季)3:点和正方形的关系
- 程序设计实习MOOC / 程序设计与算法(一)第三周测验(2017冬季)8:奥运奖牌计数
- 程序设计实习MOOC / 程序设计与算法(一)第三周测验(2017冬季)4:苹果和虫子2
- 程序设计实习MOOC/第十五周编程作业/A:棋盘问题
- 程序设计实习MOOC/第十三周编程作业/B:木材加工(NOIP 2004)
- 程序设计实习MOOC/第十三周编程作业/A:集合加法
- 【北大MOOC】2014程序设计实习--第二周编程作业
- 程序设计与算法 第一周测验
- Coursera 程序设计实习 / Practice on Programming 笔记(第一周)
- 2017 程序设计实习之C++部分作业题汇总 - H:STL 容器与算法
- 程序设计与算法(一)第一周测验(2017夏季) 解题报告
- 程序设计实习MOOC/第十三周编程作业/C:UNIMODAL PALINDROMIC DECOMPOSITIONS(Greater New York 2002)
- MOOC 程序设计基础(C&C++) 戴波、张东祥 第四章 数组与结构 作业
- 北大程序设计实习MOOC 编程作业 《魔兽世界之二:装备》
- 2014嘉杰信息杯ACM/ICPC湖南程序设计邀请赛暨第六届湘潭市程序设计竞赛 -Happy Number
- 程序设计实习MOOC / 继承和派生——编程作业 第五周程序填空题1
- 《C语言及程序设计》程序阅读——字符串数组