Linux 版 (精华区)
发信人: netiscpu (夜☆星光点点☆), 信区: Linux
标 题: ◇ 星星流讲座 0022
发信站: 紫 丁 香 (Sun Nov 8 18:30:06 1998), 转信
寄信人: guest.bbs@hgluo.hust.edu.cn
标 题: ◇ 星星流讲座 0022
发信站: 华南理工大学 BBS木棉站
日 期: Thu Feb 20 14:45:00 1997
发信人: ax.bbs@bbs.ee.nthu.edu.tw. (athena), 信区: test
标 题: 星星流讲座 0022
发信站: ☆清华电机☆ (Thu May 25 15:17:58 1995)
;35m第 4 讲 之 6 基本的流程控制
Topic: for loop (2)m
下面的程式片段是用来把一个阵列的排列顺序反过来的,传入该阵列以及该阵
列元素的个数:
void reverse (int a[], int n)
{
int temp, i, j;
i = 0;
j = n - 1; /* array ranges from a[0] ~ a[n - 1] */
while (i < j)
{
temp = a[i];
a[i] = a[j];
a[j] = temp; /* swap a[i], a[j] */
i++;
j--;
}
}
这个东西也可以用 for 回圈来达成:
void reverse (int a[], int n)
{
int temp, i, j;
for (i = 0, j = n - 1; i < j; i++, j--)
temp = a[i], a[i] = a[j], a[j] = temp;
}
这是利用了逗号运算子 , (comma operator) 的特性。逗号运算子的功用就
是把几个叙述式 (statement) 合成一个,也就是说:
temp = a[i];
a[i] = a[j];
a[j] = temp;
相当於
temp = a[i], a[i] = a[j], a[j] = temp;
for 回圈中一次是可以数好几个回圈变数的,但是程式的长度有时短些会比
较好。我们的例子中是把一个整数的阵列反转过来,在实际的应用上把字串
反转过来的机会会大的多,技术上是一模一样的。现在请你翻翻你的程式库
手册,我要如何获得字串的长度呢?
谈到这里,请你动手实作一个九九乘法表的程式,它的输出如下:
2 * 1 = 2 3 * 1 = 3 4 * 1 = 4 5 * 1 = 5
2 * 2 = 4 3 * 2 = 6 4 * 2 = 8 5 * 2 = 10
2 * 3 = 6 3 * 3 = 9 4 * 3 = 12 5 * 3 = 15
2 * 4 = 8 3 * 4 = 12 4 * 4 = 16 5 * 4 = 20
2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30
2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35
2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40
2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45
6 * 1 = 6 7 * 1 = 7 8 * 1 = 8 9 * 1 = 9
6 * 2 = 12 7 * 2 = 14 8 * 2 = 16 9 * 2 = 18
6 * 3 = 18 7 * 3 = 21 8 * 3 = 24 9 * 3 = 27
6 * 4 = 24 7 * 4 = 28 8 * 4 = 32 9 * 4 = 36
6 * 5 = 30 7 * 5 = 35 8 * 5 = 40 9 * 5 = 45
6 * 6 = 36 7 * 6 = 42 8 * 6 = 48 9 * 6 = 54
6 * 7 = 42 7 * 7 = 49 8 * 7 = 56 9 * 7 = 63
6 * 8 = 48 7 * 8 = 56 8 * 8 = 64 9 * 8 = 72
6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
如果你的程式扣除掉大括号的部份在十行以内的话,那麽恭喜你,你合格了。
参考答案以後会公布。
--
本文原作者为徐振家,原作刊载於星星神教总坛 ☆清华电机☆ test 板。
你可以以电子文件的形式将本文自由流传於台湾学术网路,但必须包含此版权声明。
原作者依中华民国著作权法之规定,享有本文之著作权,请勿抄袭以免触法。
未经授权任何人不得以任何形式对本文做任何修改及商业上之应用。
其他网路的转载或其他用途的应用,请先知会作者,并取得其同意。
对本文有任何疑问或意见请 mail 给 ax.bbs@bbs.ee.nthu.edu.tw,谢谢。
--
m;32m※ 转寄:.华南网木棉站 bbs.gznet.edu.cn.[FROM: mtlab.hit.edu.cn]
--
Enjoy Linux!
-----It's FREE!-----
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: mtlab.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.150毫秒