动态网站制作指南
[  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 软件工程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ 软件工程 ]的信息

本月文章推荐
.管理信息系统需求调研分析指南.
..NET框架和VS.NET中的SOAP.
.质量管理体系审核全解(1).
.SOA的构建原则.
.Deming的质量管理十大原则.
.微软Visual Studio .NET.
.没有电脑的入侵-深入浅出社会工.
.在WEBLOGIC环境中考虑SOA.
.使用WPF和WWF开发猜单词游戏.
.质量功能配置(QFD)(1).
.用XML、XQuery和本机XML数据库技.
.揭开.NET消息循环的神秘面纱.
.微软加强面向服务架构SOA开发.
.ESB在SOA内的工作角色分析.
.实现基于IDEA算法的加密工具(1).
.Windows 工作流活动技术概览.
.构建可“复用”的软件测试环境.
.对项目开发中几种测试类型的理解.
.编程不难学?.
..NET架构的核心开发技术.

图形编程:绝对值函数Abs()的妙用

文章类别:软件工程 | 发表日期:2008-3-23 |


   在学习ANSI C, Pascal, Java等编程语言时,经常会碰到一些具有”对称”性质的图形,要求运用所学的知识编出这些图形的小程序.绝大多数人都会想到通过数学知识,来找出图形具有何种规律,进而得出问题的解.但是,往往找规律,
得颇费一番工夫.在学习ANSI C时,碰到如右所示的一道题,要求打印下面种形式的n * n的方阵:

  当时,同学们都对绞尽脑汁来寻找规律,最后得出了多种解决方案,但最好的一种是用了1个for语句的三层嵌套, 利用覆盖的方法来解决. 事后,我在想,是否存在一种更简单的算法呢?忽然,我发现就此题而言,3正好是5 * 5方阵的轴对称中心.若以它为原点,作出一个xoy平面的垂直坐标,对各个整数点的坐标分析,又发现它们的横坐标与竖坐标各自的它们的横坐标与竖坐标各自的绝对值相加,正好是2.何不用绝对值函数Abs()或者Fabs()来试试?所以我定义了二个整型的变量i和j,分别用来定位整数点的横,竖坐标,初值均为–2,步长为1,控制条件是2,用了2个for语句的嵌套。当满足abs(i)<=abs(j)时,作如下循环:printf(“%3d”,3-abs(i)); 否则,printf(“%3d”,3-abs(j))。没想到在Windows98 Turbo C 环境下调试,通过!好,这又激发了我的思路,能不能给出这种方阵的一般算法呢?

  n * n的方阵 :

  1 1 1 1 1
  1 2 2 2 1
  1 2 3 2 1
  1 2 2 2 1
  1 1 1 1 1

  思来想去,首先必须满足整数n为奇数这一条件,然后看循环控制条件是否满足abs(i)<=abs(j),分别作不同的输出.在Turbo C环境下调试, 琢磨了好一阵子,又通过了。现在给出这种方阵的一般算法如下:

  #include
  #include
  void func(int n) /* n must be an odd number and n must be greater than zero*/
  { int i,j,temp;
  temp=n/2+1;
  for(i=-n/2;i<=n/2;i++)
  {for(j=-n/2;j<=n/2;j++)
  if(abs(i)>=abs(j))
     printf("%3d",temp-abs(i));
   else
     printf("%3d",temp-abs(j));
     printf("\n");
  }
  }

  main()
  { int n;
  printf("\nInput an integer number n:");
  scanf("%d",&n);
  func(n);
  }

  所以,在以后的学习过程中,碰到类似的要求打印具有“对称”性质的图案时,我们可以试着利用Abs()来解答,它能丰富我们编程的思路,达到意想不到的效果。(CSDN)


上一篇:添加聪明角色 让网页动起来 人气:119
下一篇:IBM的MARS加密算法实现(8) 人气:138
点击此处浏览全部软件工程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-5-16 乘风多用户PHP统计系统 v3.4
2008-5-16 轩溪下载系统 v3.78 build 0515
2008-5-16 普沙B2B 浙江省商贸网 v2.0
2008-5-16 asp抓蜘蛛的小程序 v1.0
2008-5-16 齐齐乐网私服发布站 仿haosf新版
2008-5-16 IssTech信息反馈系统 v1.0
2008-5-16 自由领域大头贴(js接口版) 修正版
2008-5-16 医院网站系统
2008-5-16 智拓-分类信息管理系统 v5.0
2008-5-7 Windows XP SP3 官方英文版
2008-5-7 Windows XP SP3 官方香港中文版
2008-5-7 Windows XP SP3 官方繁体中文版
2008-5-7 Windows XP SP3 官方简体中文版
2008-4-30 Multiple Unzip Wizard 1.02
2008-4-30 Multiple Unrar Wizard 1.0.0
2008-4-30 WinZip Install/Try/Uninstall a
2008-4-30 ZIP压缩文件修复器WzipFix 2.0
2008-4-30 Pentazip 6.01 Build 189 For Wi
  发表评论
姓 名: 验证码: [ 全部贴吧 ] [ 浏览评论 ]
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報