您当前的位置:首页 > 计算机 > 编程开发 > C语言

简单的C语言算法举例

时间:01-03来源:作者:点击数:

【例2-1】求1×2×3×4×5。

最原始方法:

  • 步骤1:先求1×2,得到结果2。
  • 步骤2:将步骤1得到的乘积2乘以3,得到结果6。
  • 步骤3:将6再乘以4,得24。
  • 步骤4:将24再乘以5,得120。

这样的算法虽然正确,但太繁。

改进的算法:

  • S1:使t=1
  • S2:使i=2
  • S3:使 t×i,乘积仍然放在在变量t中,可表示为 t×i -> t
  • S4:使i的值+1,即 i+1 -> i
  • S5:如果i≤5,返回重新执行步骤S3以及其后的S4和S5;否则,算法结束。

如果计算100!只需将“S5:若i≤5”改成“i≤100”即可。

如果改成求1×3×5×7×9×11,算法也只需做很少的改动:

  • S1:1 -> t
  • S2:3 -> i
  • S3:t×i -> t
  • S4:i+2 -> i
  • S5:若i≤11,返回S3;否则,结束。

该算法不仅正确,而且是计算机较好的算法,因为计算机是高速运算的自动机器,实现循环轻而易举。

思考:若将S5写成:“若i<11,返回S3;否则,结束”会怎样。

【例2-2】有50个学生,要求将他们之中成绩在80分以上者打印出来。如果,n表示学生学号,ni表示第个学生学号;g表示学生成绩,gi表示第个学生成绩;则算法可表示如下:

  • S1:1 -> i
  • S2:如果gi≥80,则打印ni和gi,否则不打印
  • S3:i+1 -> i
  • S4:若i≤50,返回S2,否则,结束。

【例2-3】判定2000 ~ 2500年中的每一年是否闰年,将结果输出。润年的条件:

  • 能被4整除,但不能被100整除的年份;
  • 能被100整除,又能被400整除的年份。

设y为被检测的年份,则算法可表示如下:

  • S1:2000 -> y
  • S2:若y不能被4整除,则输出y“不是闰年”,然后转到S6
  • S3:若y能被4整除,不能被100整除,则输出y“是闰年”,然后转到S6
  • S4:若y能被100整除,又能被400整除,输出y“是闰年” 否则输出y“不是闰年”,然后转到S6
  • S5:输出y“不是闰年”。
  • S6:y+1 -> y
  • S7:当y≤2500时,返回S2继续执行,否则,结束。

示意图
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门