1. //  改变循环执行的状态  
  2. 1.  用 break 语句提前终止循环  
  3. #include "stdafx.h"  
  4. #define SUM 100000                      //指定符号常量SUM代表100000  
  5.  
  6.  
  7. int _tmain(int argc, _TCHAR* argv[])  
  8. {  
  9.     float amount,aver,total;  
  10.     int i;  
  11.     for(i=1,total=0;i<=1000;i++)  
  12.     {  
  13.         printf("please enter amount:");  
  14.         scanf_s("%f",&amount);  
  15.         total=total+amount;  
  16.         if(total>=SUM)break;  
  17.     }  
  18.     aver=total/i;  
  19.     printf("num=%d\naver=%10.2f\n",i,aver);  
  20.     return 0;  
  21. }  
  22.  
  23. //break 语句的一般形式为  
  24. break 
  25. 其作用是使流程跳到循环体之外,接着执行循环体下面的语句。  
  26.  
  27. 2.  用continue语句提前结束本次循环  
  28. 有时并不希望终止整个循环的操作,而只是希望提前结束本次循环,而接着  
  29. 执行下次循环。这时可以用continue语句。  
  30. #include "stdafx.h"  
  31.  
  32.  
  33. int _tmain(int argc, _TCHAR* argv[])  
  34. {  
  35.     int n;  
  36.     for (n=100;n<=200;n++)  
  37.     {if(n%3==0)  
  38.     continue;  
  39.     printf("%d",n);  
  40.     }  
  41.     printf("\n");  
  42.     return 0;  
  43. }  
  44.  
  45. //continue 语句的一般形式为  
  46. continue;  
  47. 其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,转到循环体结束点之前,  
  48. 接着执行for语句中的"表达式3",然后进行下一次是否执行循环的判定。  
  49.  
  50. 3.  break 语句和 continue 语句的区别  
  51. continue 语句只结束本次循环,而不是终止整个循环的执行。  
  52. break 语句则是结束整个循环过程,不再判断执行循环的条件是否成立。  
  53.  
  54. 如果有以下两个循环结构:  
  55. a.while(表达式1)  
  56. {  
  57.     ...  
  58.         if(表达式2)break;  
  59.     ...  
  60. }  
  61.  
  62. b.while(表达式1)  
  63. {  
  64.     ...  
  65.         if(表达式2)continue;  
  66.     ...  
  67. }  
  68.  
  69. 输出以下 4*5 的矩阵  
  70. #include "stdafx.h"  
  71.  
  72.  
  73. int _tmain(int argc, _TCHAR* argv[])  
  74. {  
  75.     int i,j,n=0;  
  76.     for (i=1;i<=4;i++)  
  77.         for(j=1;j<=5;j++,n++)  
  78.             {if(n%5==0)printf("\n");  
  79.     printf("%d\t",i*j);  
  80.     }  
  81.     printf("\n");  
  82.     return 0;  
  83. }  
  84.  
  85. #include "stdafx.h"  
  86.  
  87.  
  88. int _tmain(int argc, _TCHAR* argv[])  
  89. {  
  90.     int i,j,n=0;  
  91.     for (i=1;i<=4;i++)  
  92.         for(j=1;j<=5;j++,n++)  
  93.             {if(n%5==0)printf("\n");  
  94.     if(i==3&&j==1)break;  
  95.     printf("%d\t",i*j);  
  96.     }  
  97.     printf("\n");  
  98.     return 0;  
  99. }  
  100.  
  101. #include "stdafx.h"  
  102.  
  103.  
  104. int _tmain(int argc, _TCHAR* argv[])  
  105. {  
  106.     int i,j,n=0;  
  107.     for (i=1;i<=4;i++)  
  108.         for(j=1;j<=5;j++,n++)  
  109.             {if(n%5==0)printf("\n");  
  110.     if(i==3&&j==1)continue;  
  111.     printf("%d\t",i*j);  
  112.     }  
  113.     printf("\n");  
  114.     return 0;  
  115. }  
  116.  
  117. //  循环程序举例  
  118. #include "stdafx.h"  
  119. #include "math.h"  
  120.  
  121.  
  122. int _tmain(int argc, _TCHAR* argv[])  
  123. {  
  124.     int sign=1;                     //sign用来表示数值的符号  
  125.     double pi=0.0,n=1.0,term=1.0;   //pi开始代表多项式的值,最后代表Л的值,  
  126.                                     //n代表分母,term代表当前项的值  
  127.     while(fabs(term)>=1e-6)         //检查当前项term的绝对值是否大于或等于10的(-6)次方  
  128.     {  
  129.         pi=pi+term;                 //把当前项term累加到pi中  
  130.         n=n+2;                      //n+2是下一项的分母  
  131.         sign=-sign;                 //sign代表符号,下一项的符号与上一项符号相反  
  132.         term=sign/n;                //求出下一项的值term  
  133.     }  
  134.     pi=pi*4;                        //多项式的和pi乘以4,才是Л的近似值  
  135.     printf("pi=%10.8f\n",pi);       //输出Л的近似值  
  136.     return 0;  
  137. }  
  138.  
  139. #include "stdafx.h"  
  140.  
  141.  
  142. int _tmain(int argc, _TCHAR* argv[])  
  143. {  
  144.     int f1=1,f2=1,f3;  
  145.     int i;  
  146.     printf("%12d\n%12d\n",f1,f2);  
  147.     for(i=1;i<=38;i++)  
  148.     {  
  149.         f3=f1+f2;  
  150.         printf("%12d\n",f3);  
  151.         f1=f2;  
  152.         f2=f3;  
  153.     }  
  154.     return 0;  
  155. }  
  156.  
  157. #include "stdafx.h"  
  158.  
  159.  
  160. int _tmain(int argc, _TCHAR* argv[])  
  161. {  
  162.     int f1=1,f2=1;  
  163.     int i;  
  164.     for(i=1;i<=20;i++)  
  165.     {  
  166.         printf("%12d %12d",f1,f2);  
  167.         if(i%2==0) printf("\n");  
  168.         f1=f1+f2;  
  169.         f2=f2+f1;  
  170.     }  
  171.     return 0;  
  172. }  
  173.  
  174. 输入一个大于3的证书n,判定它是否为素数(prime,又称)  
  175. #include "stdafx.h"  
  176.  
  177.  
  178. int _tmain(int argc, _TCHAR* argv[])  
  179. {  
  180.     int n,i;  
  181.     printf("please enter a integer number,n=?");  
  182.     scanf_s("%d",&n);  
  183.     for(i=2;i<=n-1;i++)  
  184.         if(n%i==0)break;  
  185.     if(i<n) printf("%d is not a prime number.\n",n);  
  186.     else printf("%d is a prime number.\n",n);  
  187.     return 0;  
  188. }  
  189.  
  190. #include "stdafx.h"  
  191. #include "math.h"  
  192.  
  193.  
  194. int _tmain(int argc, _TCHAR* argv[])  
  195. {  
  196.     int n,i,k;  
  197.     printf("please enter a integer number:n=?");  
  198.     scanf_s("%d",&n);  
  199.     k=sqrt((double)n);  
  200.     for(i=2;i<=k;i++)  
  201.         if(n%i==0)break;  
  202.     if(i<=k) printf("%d is not a prime number.\n",n);  
  203.     else printf("%d is a prime number.\n",n);  
  204.     return 0;  
  205. }  
  206.  
  207. 求 100~200 间的全部素数  
  208. #include "stdafx.h"  
  209. #include "math.h"  
  210.  
  211.  
  212. int _tmain(int argc, _TCHAR* argv[])  
  213. {  
  214.     int n,k,i,m=0;  
  215.     for(n=101;n<=200;n=n+2)  
  216.     {k=sqrt((double)n);  
  217.     for(i=2;i<=k;i++)  
  218.         if(n%i==0)break;  
  219.     if(i>=k+1)  
  220.     {printf("%d",n);  
  221.     m=m+1;  
  222.     }  
  223.     if(m%10==0) printf("\n");  
  224.     }  
  225.     printf("\n");  
  226.     return 0;  
  227. }  
  228.  
  229. 译密码  
  230. #include "stdafx.h"  
  231.  
  232.  
  233. int _tmain(int argc, _TCHAR* argv[])  
  234. {  
  235.     char c;  
  236.     c=getchar();            //输入一个字符给字符变量c  
  237.     while(c!='\n')          //检查c的值是否换行符'\n'  
  238.     {  
  239.         if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))          //c如果是字母  
  240.        {  
  241.            if(c>='W'&&c<='Z'||c>='w'&&c<='z') c=c-22;   //如果是26个字母中最后4个字母之一就使c-22  
  242.            else c=c+4;      //如果是前面22个字母之一,就使c加4,即变成其后第4个字母  
  243.         }  
  244.     printf("%c",c);         //输出已改变的字符  
  245.     c=getchar();            //再输入下一个字符给字符变量c  
  246.     }  
  247.     printf("\n");  
  248.     return 0;  
  249. }  
  250.  
  251. #include "stdafx.h"  
  252.  
  253.  
  254. int _tmain(int argc, _TCHAR* argv[])  
  255. {  
  256.     char c;  
  257.     while((c=getchar())!='\n')          //输入一个字符给字符变量c,检查c的值是否换行符'\n'  
  258.     {  
  259.         if((c>='A'&&c<='Z')||(c>='a'&&c<='z'))          //c如果是字母  
  260.        { c=c+4;  
  261.            if(c>='Z'&&c<='Z'+4||c>'z')  
  262.                c=c-26;  
  263.         }  
  264.         printf("%c",c);  
  265.     }  
  266.     printf("\n");  
  267.     return 0;