i 1 100
问题的扩展: (1) 求 1 ~ 100 间奇数的和
int i,sum=0; for (i=1;i<=100;i=i+2) sum=sum+i; printf("1+3+...+99=%d\n",sum); int i,sum=0; for (i=1;i<=100;i++) if(i%2==1)sum=sum+i; printf("1+3+...+99=%d\n",sum);
do-while语句
do 语句 while (表达式)
假(0)
语句
表达式
真(非0)
语句 表达式
N-S图
流程图
do-while语句
例1:求 n 1 2 3 ... 100
n 1
100
int i=1,sum=0;
do
{ sum=sum+i;
i++;
}while(i<=100);
例4:求
10
n ! 1! 2! 3! ... 10 !
n 1
int i,n, fac,sum=0; for (n=1;n<=10;n++) { fac=1; for (i=1;i<=n;i++) fac=fac*i; sum=sum+fac; } printf ("1!+2!+...+10!=%ld\n",sum);
例6:鸡兔问题
计算机的解决方法——将各种可能情 况逐个试算,找到符合要求的结果
鸡0只,兔H只,则脚有...只≠F 鸡1只,兔H-1只,则脚有...只≠F 鸡2只,兔H-2只,则脚有...只≠ F ...... 鸡C只,兔H-C只,则脚有...只=F,显示结果 ...... 鸡H只,兔0只,则脚有...只≠ F