a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 55|回复: 1

[C语言] 计算机等考C语言实验指导:循环结构程序设计

[复制链接]
发表于 2012-7-31 21:48:08 | 显示全部楼层 |阅读模式
实验五 循环结构程序设计  【目的与要求】
0 m' w" B, I3 x" w2 e7 k* @  熟练掌握while、do—while和for三种循环语句的应用。
2 b6 D- E( _% `  d  【上机内容】
% L2 C8 j( i( Q5 k7 w' c  【一般示例】
! v, i: A: E1 S. p6 b  【例1】求5!! [& J$ J7 l' \+ f
  main()8 N) J# x6 U  f) K5 _
  {
" |' [6 V- Z! u$ Z- V  int n,t;. O6 S+ z: {0 X3 r5 |0 X
  n=1;9 d: |6 c3 `. x1 ]3 U( ]$ t
  t=1;
. C# N% A7 e, P1 I* ?
- \' |3 o% C% R4 N  while(t
回复

使用道具 举报

 楼主| 发表于 2012-7-31 21:48:09 | 显示全部楼层

计算机等考C语言实验指导:循环结构程序设计

【典型示例】  【例1】计算两个数的最大公约数; 分析:首先,随机输入两个数m,n(默认m>n);其次,算法:使k为m除以n的余数,如果m能被n整除,则k值为0,n为这两个数的最大公约数,否则,使k代替n,n代替m,重复以上过程,直到k值为0。
( z% x+ ?" L( P% @* H+ T  #include"stdio.h"9 Z  x% n- N6 ~: [( p5 y
  main()
' b8 S  v3 L& a* H/ N  {8 G5 [) P6 k/ _! ~
  int m,n,k,result;" p* |, B0 Z" y  ~( Z
  printf("Enter two numbers:");% J6 I9 m7 K% {
  scanf("%d,%d",&m,&n);2 l; X3 t! z. X9 i8 X
  if(m>0&&n>0) /*限定两个正整数*/
' a, Q" u+ W9 l3 }6 _1 y  {$ m0 D7 e4 _) o- p
  do
/ J. \1 e, q' K% t  {
$ i# U0 r# c% h* B# V( _  k=n%m;
" f6 T! P1 T7 p1 N+ p  if(k= =0)+ ?8 f; F1 B) I- T
  result=m;
9 F; q* J  ?- @- x( E- S, R  else2 c& }( l0 \7 x" ^' C% T! B5 s
  {
* Z  V0 d2 Y. B" z% L  n=m;8 p  T& M$ \1 U( u; s; p. {6 [% \
  m=k;
8 }5 C/ O7 g6 y0 b4 M6 L  }, |/ m  a+ t; r( X6 t
  }while(k>0); /*循环取余求出最大公因子*/
9 V- z' [4 D4 U6 W/ ]  printf("The greatest common divistor is:%d\n",result);) Y# x# O/ a- H1 ^+ H
  }
8 F) Y6 }  y- ~; `7 w4 N  else printf("Nonpositive values not allowed\n");' b# E, i: V# q; C7 b2 U$ \
  }
4 N' ~- R9 t8 ?$ o2 N4 C- o, T  【例2】用牛顿迭代求方程2x3-4x2+3x-6=0在1.0附近的根。
7 E  P* l/ T+ P9 [. R8 {  #include “math.h”; P# `+ N7 |6 e. r9 D# k  X/ }
  main()- ?) L8 z) J3 D4 F
  {) @$ z' r9 A* y+ U
  float x,x0,f,f1;% q- p: U  x2 X. b6 h" L5 M
  x=1.0;1 O+ G3 W! D1 |, O8 E) z; Y+ w
  do0 o3 W: ?& e5 {4 a
  { x0=x;3 d% f; X0 g4 I" \* `9 \! Y* c4 K% d
  f=((2*x0-4)*x0+3)*x0-6;$ l6 U8 N! I' K2 p
  f1=(6*x0-8)*x0+3;
3 }4 Q6 z! c5 N' U$ v9 u7 k  x=x0-f/f1;
  w& w4 O! f: {: G/ G  }0 Y* D9 s* |% @% E, ^6 D+ v  [- ^
  while(fabs(x-x0)>=1e-5);
+ B+ I) _) W. _* m) |  printf(“%6.2f”,x);3 V% I# r9 r* D3 Z9 N3 ?  W4 Y
  }5 z0 n1 D/ {% Y5 v+ A! }5 D9 l& s
  【例3】打印下列图案
( k, h/ `; _+ Z8 S2 v  *
6 b  \9 M$ C$ ~% x+ ^/ j  ***
/ F0 w5 F; l( E, [" z7 K  *****
% c- p$ K0 M! q9 C- B, F  *******
5 F3 L5 s/ V' W0 T/ \2 O  main()
7 E+ ]7 ?# |4 g& {, x- x  { int i,j;# b- |: o, C! y) {, O

+ g! ?5 R4 g4 n" q4 V6 Y5 z4 ]  for(i=1; i
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-6-13 23:04 , Processed in 0.279002 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表