视频学习
while循环:并非到达指定次数,而是满足某条件时即停止循环
eg:
#include<iostream>
using namespace std;
int main()
{
int sum=0,maxn=0,minn=200,n;
cin>>n;
while(n){
if(n>maxn) maxn=n;
if(n<minn) minn=n;
sum+=n;
cin>>n;
}
cout<<maxn<<" "<<minn<<" <<sum;"
return 0;
}
eg:用牛顿迭代法求输入数的平方根
#include<iostream>
using namespace std;
double EPS = 0.001;
int main()
{
double a;
cin>>a;
if(a>=0){
double x=a/2,lastX=x+1+EPS;
while(x-lastX>EPS||lastX-x>EPS){
lastX=x;
x=(x+a/x)/2;
}
cout<<x;
}
else
cout<<"it's can't be nagitive.";
return 0;
}
break(for,while,do while中跳出循环)
多重循环离只能跳出直接包含它的那一重循环
#include<iostream>
using namespace std;
int main()
{
int n,m;
cin>>n>>m;
int a=m+1,b=m+1;
for(int i=n;i<m;++i){
if(i>(a+b) break;
for(int j =i+1;j<=m;++j){
if(i+j>a+b) break;
if(i*k%(i+j)==0){
if(i+j<a+b){
a=i;b=j;
}
else if(i+j=a+b&&i<a)
a=i;b=j;
}
}
}
if(a==m+1)
cout<<"no solution.";
else
cout<<a<<","<<b;
return 0;
}
练习
#include<stdio.h>
int main(){
double t;
int n;
scanf("%lf %d",&t,&n);
printf("%.3lf\n%d",t/n*1.0,n*2);
return 0;
}