一则C语言题
来源:互联网 发布:三维地理信息系统软件 编辑:程序博客网 时间:2024/05/19 05:34
今天在网上看到一道C语言题:
char a[2][2][3]={
{
{1,6,3},
{5,4,15}
}, {
{3,5,33},
{23,12,7}
}
};
for(i = 0; i < 12; i++)
printf("%d ", _______);
在空格处填上合适的语句,顺序打印出a中的数字
给出的答案为:a[i/6][(i/3)%2][i%3];
这道题目是多维数组的输出问题,这里要考虑的是每维数字的取值顺序问题:第一维,前六次循环都取0,后六次取1,于是i/6可以满足要求;第二维,前3次为0,再3次为1,再3次为0,再3次为1,用量化的思想,i/3把12个数字分为4组每组3个,量化为0、1、2、3,为要得到0、1、0、1我们这里就需要对(0、1、2、3)%2=(0、1、0、1),于是(i/3)%2;最后一维我们需要的是(0、1、2;0、1、2;0、1、2;0、1、2;)我们就i%3。
个人觉得比较方便的方法可以直接取地址。
各有各的好处,我的这种解法略微投机取巧了一些吧:
#include <stdio.h>
int main(void)
{
int i = 0;
char a[2][2][3]={
{
{1,6,3},
{5,4,15}
}, {
{3,5,33},
{23,12,7}
}
};
for(i = 0; i < 12; i++)
printf("%d ", *(&a[0][0][0]+i));
return 0;
}
- 一则C语言题
- C语言问题一则
- C语音笔记一则
- #笔试题一则:
- Sql Server 一则训练题
- 一则C++Unicode集与多字节转换函数使用。
- 一道C语言题
- C语言测试题
- C语言笔试题
- C语言笔试题
- C语言笔试题
- c语言笔试题
- C语言一题
- c语言笔试题
- C语言测试题
- C语言迷题
- c语言谜题
- C语言谜题
- js中设置显示和隐藏
- 导致页面顶部空白一行解决方法
- Raspberry Pi For Windows
- 我在达内学安卓-基于ArrayAdapter创建单一对象列表方式创建联系人列表!
- Android学习笔记
- 一则C语言题
- Java笔记---CenOS下配置Mysql
- VB-计时器程序设计1
- poj2985 The k-th Largest Group 【树状数组求第K大】
- 【经典算法】——KMP,深入讲解next数组的求解
- 乘法口诀
- Qt乱码问题>>
- hi35xx样例程序使用
- jquery实现hover图片半透明效果