- // 改变循环执行的状态
- 1. 用 break 语句提前终止循环
- #include "stdafx.h"
- #define SUM 100000 //指定符号常量SUM代表100000
- int _tmain(int argc, _TCHAR* argv[])
- {
- float amount,aver,total;
- int i;
- for(i=1,total=0;i<=1000;i++)
- {
- printf("please enter amount:");
- scanf_s("%f",&amount);
- total=total+amount;
- if(total>=SUM)break;
- }
- aver=total/i;
- printf("num=%d aver=%10.2f ",i,aver);
- return 0;
- }
- //break 语句的一般形式为
- break
- 其作用是使流程跳到循环体之外,接着执行循环体下面的语句。
- 2. 用continue语句提前结束本次循环
- 有时并不希望终止整个循环的操作,而只是希望提前结束本次循环,而接着
- 执行下次循环。这时可以用continue语句。
- #include "stdafx.h"
- int _tmain(int argc, _TCHAR* argv[])
- {
- int n;
- for (n=100;n<=200;n++)
- { if(n%3==0)
- continue;
- printf("%d",n);
- }
- printf(" ");
- return 0;
- }
- //continue 语句的一般形式为
- continue;
- 其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,转到循环体结束点之前,
- 接着执行for语句中的"表达式3",然后进行下一次是否执行循环的判定。
- 3. break 语句和 continue 语句的区别
- continue 语句只结束本次循环,而不是终止整个循环的执行。
- break 语句则是结束整个循环过程,不再判断执行循环的条件是否成立。
- 如果有以下两个循环结构:
- a.while(表达式1)
- {
- ...
- if(表达式2)break;
- ...
- }
- b.while(表达式1)
- {
- ...
- if(表达式2)continue;
- ...
- }
- 输出以下 4*5 的矩阵
- #include "stdafx.h"
- int _tmain(int argc, _TCHAR* argv[])
- {
- int i,j,n=0;
- for (i=1;i<=4;i++)
- for(j=1;j<=5;j++,n++)
- { if(n%5==0)printf(" ");
- printf("%d ",i*j);
- }
- printf(" ");
- return 0;
- }
- #include "stdafx.h"
- int _tmain(int argc, _TCHAR* argv[])
- {
- int i,j,n=0;
- for (i=1;i<=4;i++)
- for(j=1;j<=5;j++,n++)
- { if(n%5==0)printf(" ");
- if(i==3&&j==1)break;
- printf("%d ",i*j);
- }
- printf(" ");
- return 0;
- }
- #include "stdafx.h"
- int _tmain(int argc, _TCHAR* argv[])
- {
- int i,j,n=0;
- for (i=1;i<=4;i++)
- for(j=1;j<=5;j++,n++)
- { if(n%5==0)printf(" ");
- if(i==3&&j==1)continue;
- printf("%d ",i*j);
- }
- printf(" ");
- return 0;
- }
- // 循环程序举例
- #include "stdafx.h"
- #include "math.h"
- int _tmain(int argc, _TCHAR* argv[])
- {
- int sign=1; //sign用来表示数值的符号
- double pi=0.0,n=1.0,term=1.0; //pi开始代表多项式的值,最后代表Л的值,
- //n代表分母,term代表当前项的值
- while(fabs(term)>=1e-6) //检查当前项term的绝对值是否大于或等于10的(-6)次方
- {
- pi=pi+term; //把当前项term累加到pi中
- n=n+2; //n+2是下一项的分母
- sign=-sign; //sign代表符号,下一项的符号与上一项符号相反
- term=sign/n; //求出下一项的值term
- }
- pi=pi*4; //多项式的和pi乘以4,才是Л的近似值
- printf("pi=%10.8f ",pi); //输出Л的近似值
- return 0;
- }
- #include "stdafx.h"
- int _tmain(int argc, _TCHAR* argv[])
- {
- int f1=1,f2=1,f3;
- int i;
- printf("%12d %12d ",f1,f2);
- for(i=1;i<=38;i++)
- {
- f3=f1+f2;
- printf("%12d ",f3);
- f1=f2;
- f2=f3;
- }
- return 0;
- }
- #include "stdafx.h"
- int _tmain(int argc, _TCHAR* argv[])
- {
- int f1=1,f2=1;
- int i;
- for(i=1;i<=20;i++)
- {
- printf("%12d %12d",f1,f2);
- if(i%2==0) printf(" ");
- f1=f1+f2;
- f2=f2+f1;
- }
- return 0;
- }
- 输入一个大于3的证书n,判定它是否为素数(prime,又称)
- #include "stdafx.h"
- int _tmain(int argc, _TCHAR* argv[])
- {
- int n,i;
- printf("please enter a integer number,n=?");
- scanf_s("%d",&n);
- for(i=2;i<=n-1;i++)
- if(n%i==0)break;
- if(i
"%d is not a prime number. ",n); - else printf("%d is a prime number. ",n);
- return 0;
- }
- #include "stdafx.h"
- #include "math.h"
- int _tmain(int argc, _TCHAR* argv[])
- {
- int n,i,k;
- printf("please enter a integer number:n=?");
- scanf_s("%d",&n);
- k=sqrt((double)n);
- for(i=2;i<=k;i++)
- if(n%i==0)break;
- if(i<=k) printf("%d is not a prime number. ",n);
- else printf("%d is a prime number. ",n);
- return 0;
- }
- 求 100~200 间的全部素数
- #include "stdafx.h"
- #include "math.h"
- int _tmain(int argc, _TCHAR* argv[])
- {
- int n,k,i,m=0;
- for(n=101;n<=200;n=n+2)
- {k=sqrt((double)n);
- for(i=2;i<=k;i++)
- if(n%i==0)break;
- if(i>=k+1)
- {printf("%d",n);
- m=m+1;
- }
- if(m%10==0) printf(" ");
- }
- printf(" ");
- return 0;
- }
- 译密码
- #include "stdafx.h"
- int _tmain(int argc, _TCHAR* argv[])
- {
- char c;
- c=getchar(); //输入一个字符给字符变量c
- while(c!=' ') //检查c的值是否换行符' '
- {
- if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) //c如果是字母
- {
- if(c>='W'&&c<='Z'||c>='w'&&c<='z') c=c-22; //如果是26个字母中最后4个字母之一就使c-22
- else c=c+4; //如果是前面22个字母之一,就使c加4,即变成其后第4个字母
- }
- printf("%c",c); //输出已改变的字符
- c=getchar(); //再输入下一个字符给字符变量c
- }
- printf(" ");
- return 0;
- }
- #include "stdafx.h"
- int _tmain(int argc, _TCHAR* argv[])
- {
- char c;
- while((c=getchar())!=' ') //输入一个字符给字符变量c,检查c的值是否换行符' '
- {
- if((c>='A'&&c<='Z')||(c>='a'&&c<='z')) //c如果是字母
- { c=c+4;
- if(c>='Z'&&c<='Z'+4||c>'z')
- c=c-26;
- }
- printf("%c",c);
- }
- printf(" ");
- return 0;
- }