FOR嵌套循环资料讲解

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

{s=s+f*f1/f2;
/*累加器当前值=累加器原来的值+新的要加的数据*/
f=f*(-1);t=f2;f2=f1;f1=f1+t;
/*为求下一个要加的数据做准备*/
}
printf("s=%f\n",s); }
循环结构程序设计举例
【例11】输入任意一个正整数,将其逆序输出 ,例如输入1234,输出4321。
void main()
/*a,b,c代表百位、十位、个位*/
{int x,a,b,c,num=0;
/*num存放满足条件的数的个数,注意num要赋初值*/
for(x=100;x<=999;x++)
{ a=x/100;b=x/10%10;c=x%10;
if(a!=b&&a!=c&&b!=c)
{ num++;
}
例7 用0--9这十个数字可以组成多少无重复 的三位数?
编程方法: “穷举法” 按问题本身的性质,一一列举出该问题
所有可能的解,并在逐一列举的过程中,检 验每个可能解是否是问题的真正解,若是, 我们采纳这个解,否则抛弃它。对于所列举 的值,既不能遗漏也不能重复。
for 语句
#include "stdio.h"
for(i=1;i<=4;i++) {for(j=1;j<=i;j++) printf("* "); printf("\n"); }
getch(); }
* ** *** ****
例4 显示右侧图形
main() { int i,k,j;
for(i=1;i<=4;i++) { for(k=1;k<=4-i;k++) printf(" "); for(j=1;j<=i;j++) printf("* "); printf("\n"); }
FOR嵌套循环
例2 显示右侧图形
main() { int i,j;
for(i=1;i<=4;i++) {for(j=1;j<=5;j++) printf("* "); printf("\n"); }
getch(); }
***** ***** ***** *****
例3 显示右侧图形
main() { int i,j;
}
ห้องสมุดไป่ตู้
1 12 123 1234 1. 1 2 3
4 2. 1 2 3 3. 1 2 4. 1
例6 编程输出下面的数字金字塔(1到9 )。
1 121 12321 .….. 12345678987654321
第五章 练习
main() { int i,j,k,t;
for(i=1;i<=9;i++) {for(j=1;j<=10-i;j++) printf(" "); for(k=1;k<=i;k++) printf("%d",k); for(t=1;t<=i-1;t++) printf("%d",i-t); printf("\n"); }
第五章 课后思考
main() { int m,w,c;
for(m=0;m<=16;m++) for(w=0;w<=25;w++) for(c=0;c<=50;c++) if(3*m+2*w+c==50&&m+w+c==30) printf("m=%d w=%d
c=%d\n",m,w,c); getch(); }
printf("%5d",x);
}
}
printf("\nnumber=%d",num);
}
for 语句
例8.以下问题可以用穷举法编程 某旅行团有男人、女人和小孩共30人,在 纽约一家小饭馆里吃饭,该饭馆按人头收 费,每个男人收3美元,每个女人收2美元, 每个小孩收1美元,共收取50美元。男人、 女人和小孩各有都少人?共有多少组解。
f1=f2; f2=f3;
递推
}
}
for 语句
循环结构程序设计举例
【例10】 求 s2358... 求 前 1 0 项 之 和
1235
#include "stdio.h"
void main()
{float s=0,f1=2,f2=1,f=1,t,n; /*累加器赋初值*/
for(n=1;n<=10;n++)
getch(); }
* ** *** ****
例5 显示右侧图形
main() { int i,j;
for(i=1;i<=4;i++) {for(j=1;j<=i;j++) printf("%d ",j); printf("\n\n"); }
for(i=1;i<=4;i++) {for(j=1;j<=5-i;j++) printf("%d ",j); printf("\n\n"); }
include "stdio.h" void main() {long y,n; scanf("%ld",&y); while(y!=0)
{n=y%10; printf("%ld",n); y=y/10; } }
循环结构程序设计举例
【例12】猴子第一天摘下若干个桃子,当即吃了 一半,又多吃了一个。以后每天早晨猴子都吃掉 前一天剩下的一半多一个。到第5天时,猴子再 去吃桃子时发现只剩下1个桃子。问第一天猴子 摘了多少个桃子?
#include "stdio.h" void main() {int x=1,n; for(n=4;n>=1;n--)
x=(x+1)*2; printf("%d",x); }
循环结构程序设计举例
【例13】 猜数游戏:任意设置一个整数,请用户从键 盘上输入数据猜想设置的数是什么,告诉用户是猜大了 还是小了。10次以内猜对,用户获胜。否则,告诉用户 设置的数据是什么。
例9: 裴波那契数列的第1、2项分别为1、1,以后 各项的值均是其前两项之和。求前30项菲波那契 数。
编程方法: “递推法”
所谓递推法就是从初值出发,归纳出新值与旧 值间的关系,直到求出所需值为止。新值的求出 依赖于旧值,不知道旧值,无法推导出新值。数 学上递推公式正是这一类问题。
for 语句
f1--第一个数 f2--第二个数 f3--第三个数 f1=1; f2=1; f3=f1+f2; 以后只要改变f1,f2的值,即可求出下一个数. f1=f2;f2=f3; f3=f1+f2;
递推
for 语句
参考程序:
void main() {long f1=1, f2=1, f3; int k;
注意f1、f2、 f3、x 的类型
printf(" %ld\t%ld\t ", f1,f2);
for(k=3;k<=30;k++)
{ f3=f1+f2;
printf(" %ld\t ",f3);
相关文档
最新文档