C语言实验八.doc
实验八 循环结构(一)一、 实验目的(1)熟练掌握while语句,dowhile语句和for语句实现循环的方法;(2)掌握在程序设计中用循环的方法实现各种算法(3)掌握循环嵌套的应用,能够灵活运用各种循环控制进行综合程序设计;。二、 实验内容1求1到100的和#include <stdio.h>void main() int i,sum=0; i=1; while (i<=100) sum=sum+i; i+; printf(%dn,sum); 将它改为用其它方式的关键词做的循环2(a)打印楼梯,同时在楼梯上方打印两个笑脸。 A程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。 B参考程序源代码: #include "stdio.h" void main() int i,j; printf("11n");/*输出两个笑脸*/ for(i=1;i<10;i+) for(j=1;j<=i;j+) printf("%c%c",xA1,xF6); printf("n"); (b)要求输出国际象棋棋盘。A程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。B参考程序源代码: #include "stdio.h" void main() int i,j; for(i=0;i<8;i+) for(j=0;j<8;j+) if(i+j)%2=0) printf("%c%c",xA1,xF6); else printf(" "); printf("n"); 3打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方5的三次方3的三次方。A程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。B程序源代码:#include "stdio.h" void main() int i,j,k,n; printf("'water flower'number is:"); for(n=100;n<1000;n+) i=n/100;/*分解出百位*/ j=n/10-i*10; /*分解出十位*/ k=n%10 /*分解出个位*/ if(i*100+j*10+k=i*i*i+j*j*j+k*k*k) printf("%-5d",n); printf("n"); 4编程序打印输出100-999之间的所有素数及素数个数。程序源代码:#include "stdio.h" void main() int m,k,i,n=0; for(m=101;m<=999;m=m+2) k=sqrt(m); for (i=2;i<=k;i+) if(m%i=0) break; if (i>=k+1) printf("%d ",m); n=n+1; if(n%10=0) printf("n"); printf ("n"); printf("The Number N=%d",n); 5打印输出如下图所示的图形(A) 利用双重循环输出菱形几何图案#include "stdio.h" void main() int i,j,width;printf("请输入最大的宽度值:n"); scanf("%d",&width); for(i=1;i<=width;i+) for(j=1;j<=i;j+) printf("*"); printf("n"); for(i=1;i<=width;i+) for(j=1;j<=i;j+) printf(" "); for(j=i;j<=width-1;j+) printf("*"); printf("n"); (B) 利用双重循环输出乘法口诀表#include <stdio.h>void main()int i,j;for(i=1;i<=9;i+) for(j=1;j<=i;j+)printf("%d*%d=%dt",j,i,i*j); printf("n");(C)利用双重循环输出下列图形 A BBB CCCCC DDDDDD CCCCC BBB A#include "stdio.h" void main() int i,j,k;char m; m='A' for(i=1;i<=4;i+) for (j=1;j<=4-i;j+) printf(" "); for (k=1;k<=2*i-1;k+) printf("%c",m); printf("n"); m+; m-; for(i=1;i<=3;i+) m-; for (j=1;j<=i;j+) printf(" "); for (k=1;k<=7-2*i;k+) printf("%c",m); printf("n"); getch();三、 实验步骤1 四、 实验分析五、 实验心得6 心分步) ) )" +* ;( ) + =;= - + (- + )"( ) " + < ) + < + =; '' , ) " " 形图输重利)"( )* , %*" + ; + =;= ( 诀口出循用 ) ( )*( +- )( + ;=( + <= ) ( ) + ;= + ; ) ,% )"值的最" ) ". 图几出循用利图示下如 ; % ) " )"" = ( + ) " ( >( )%( + ; ) 00 , ) "" " 码代数个及所之 0出印程;" " ) * * ( /*解/0=/*解/0 0= /*解/0 )+00; (;" ; )( " 码码位百,出解,个 制循利析序方三三次的 ,花“是 如本该方字其数三”仙谓,仙的所;" ;)" ; , % )= +( )+;=( )+; ; ) " 码源程格白还黑输化的+ , 制析序盘棋国出 )"( ; , % +< )+ ( *笑出; ) " 序程。的出控化 列控行控用 。脸印梯时梯印 循的关方用 ( ; ; =结 构0=一 ; ) > 的的到内;合行环循运能应嵌环算算实环用序握法的现语 语 语 握熟目