课堂笔记
一、for语句
// Note:Your choice is C++ IDE
#include <iostream>
using namespace std;
int main()
{
//for
int i,sum;
for(sum=0,i=1; i<101; i++)
sum+=i;
//适合于用在循环次数已知的情况下
sum=0;
i=1;
while(i<101)//适合于用在循环次数未知的情况下
{
sum+=i;
i++;
}
//三种循环结构在一定条件下都是可以互相转换的
cout<<sum<<endl;
return 0;
}
// Note:Your choice is C++ IDE
#include <iostream>
using namespace std;
int main()
{
二、数列求和:2/1,3/2,5/3,8/5,,,,,(利用for)
// f2=2 f2/f1
// f1=1
// f3=f1+f2; 3
// f1=f2; f2=f3;
// f1 f2 f3
// f1 f2
//求前n项和
double sum=0,f1,f2,f3;
int i;
f1=1;f2=2;
for(i=0;i<10;i++)
{
sum+=f2/f1;//sum=sum+f2/f1
初始值0
f3=f1+f2;
f1=f2; f2=f3;
cout<<sum<<endl;
}
return 0;
}
三、判断素数(利用for)
// Note:Your choice is C++ IDE
#include <iostream>
using namespace std;
int main()
{
//判断素数:判断一个正整数是否为素数
//n 2...n-1
int n,i;
int flag=1;
cin>>n;
//100 2*50 4*25 5*20 10*10
for(i=2;i<n;i++)
{
if(n%i==0)
{
flag=0;
break;
}
}
if(flag==1)
cout<<"Y"<<endl;
else
cout<<"N"<<endl;
return 0;
}
// Note:Your choice is C++ IDE
#include <iostream>
using namespace std;
int main()
{
四、水仙花数
// abc =
//穷举法
//
int a,b,c,n;
for(n=100;n<1000;n++)
{ //n=367
a=n/100;
b=(n/10)%10;
c=n%10;
if(a*a*a+b*b*b+c*c*c==n)//等号写在后面避免编译发现不了错误
cout<<n<<endl;
}
return 0;
}
代码编写
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) {
//for语句的应用
//1.求和 (for)
int i,sum;
for(sum=0,i=1;i<101;i++)//for里面的语句要用“;”分开
{
sum+=i;
}
cout<<sum<<endl;
//(while)
int i,sum;
sum=0,i=1;
while(i<101)
{
sum+=i;
i++;
}
cout<<sum<<endl;
//2.数列求和(for)
double f1,f2,f3,sum=0;
f1=1,f2=2;
int i;
for(i=0;i<10;i++)
{
sum+=f2/f1;
f3=f1+f2;
f1=f2;
f2=f3;
cout<<sum<<endl;
}
//3.判断素数
int n,i;
int flag=1;
cin>>n;
for (i=2;i<n;i++)
{
if(n%i==0)
{
flag=0;
break;
}
}
if(flag==1)
cout<<"是素数"<<endl;
else//flag被上面的if赋值了0然后跳到else
cout<<"不是素数"<<endl;
//4.水仙花数
int a,b,c,n;
for(n=100;n<1000;n++)
{
a=n/100;
b=(n/10)%10;
c=n%10;
if(a*a*a+b*b*b+c*c*c==n)
cout<<n<<endl;
}
return 0;
}
学习总结 (循环结构的大总结)
1.写等式时等号写在后面避免编译发现不了错误;
2.foe语句中三个表达式之间的分隔符是分号,有且仅有两个分号,及不能多也不能少;
3.for(初始化表达式;循环控制表达式;增值表达式),由于每次循环体执行完以后,都要执行一次增值表达式,所以退出for循环后,i的值实际为n+1;
4.for语句里仅由一个分号构成的语句称为空语句,常用于编写延时程序;
5.且一般不在for语句后加分号,行末的分号会导致循环什么也不做,只起延时作用;如果在while后意外地加上分号那么情况更糟,有可能产生死循环;
6.while与do-while的区别:while先判断后执行,do-while是先执行后判断,当第一次测试循环条件就为假时,while与do-while语句是不等价的,while会一次循环都不执行,do-while至少执行一次循环。