写了个关于约瑟夫环的程序,用的是循环数组,刚写好了代码 花了3个小时从一点点想法反复编译,以为代码很干净利落漂亮了,过了几天拿出来一看觉的又是很多代码中很多累赘,思路不清晰,不方便阅读,又花了2个小时反复修改反复想才写成现在这样。优化美化代码的过程很好玩。和原代码比较后,让我真正感觉的代码真的有优美和丑陋之分。
#include <stdio.h>
void main ()
{
int stu[20] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19};
int cout = 20, cout1 = 3, *p = &stu[2]; //数到三就出数组 从第三个数开始
while ( cout >= 1 )
{
if ( cout1 == 3 ) // 步长为3 满3出数组
{
cout1 = 0;
printf (" %d ", *p);
*p // -1 表示该位置为空
cout-- //cout初始值为总长 出一个数就减一
}
p = &stu[( ( ( p - stu ) + 1 ) % 20 )]; //指针向后跳一
if (*p != -1) //不为空位置数到3
cout1++;
}
}
发上来让大伙帮我在想法不变的情况下,进一步简化 优化。还有就是大伙也将自己的优秀的,优美的好代码也发上来大家一起分享学习下,最后说明下代码 因为我比较菜 有问题描述下我更好接受 谢谢!!