C++实验:循环结构程序设计
1、一、实验目的
1.熟练while 和for循环结构及实现循环的方法。
2.掌握在程序设计中用循环的方法实现各种算法(如穷举、迭代、递推等)。
2、二、知识要点
在C++的程序设计中,有很多问题需要对同一问题进行反复求解,循环结构的程序可以实现此类功能。在C++中,主要有两类循环,一是当型循环,另一种是直到型号循环,后一种较少使用。从语句的角度来说,主要有 Do{ }while
While(条件表达式) { }
和for(条件表达式1;判断;表达式)) { }
3、三、实验内容及步骤
1.编写一控制台应用程序,输入一个数,判断是否为素数。
程序如下:
#include <iostream> using namespace std;
#include <math.h> //此为数学函数库。
void f(int n) //此函数只判断是否为素数。 {
int i,j=0;
for(i=2;i<=sqrt(n);i++) if(n%i==0)
j++;
if(n==0||n<0) cout<<"数据错误!"<<"\a"<<endl;
else if(n==1) cout<<"这个数不是素数。"<<endl; //“1”要特殊处理。 else {
if(j==0)
cout<<"这个数是素数。"<<endl;
else
cout<<"这个数不是素数。"<<endl; } }
int main() {
int n;
cout<<"请输入要检验的整数:"<<endl; cin>>n; f(n); return 0; }
运行结果如下:

4、2.根据上面的代码,输出100-200之间的所有素数。 显示出来。用for 或while 或do-while循环语句实现。 程序如下: #include<iostream> #include<cmath> #include<iomanip>
using namespace std; int main() {
int m,k,i,n=0; bool prime;
for(m=101;m<=200;m=m+2)
{
prime=true;
k=int(sqrt(m));
for(i=2;i<=k;i++)
if(m%i==0)
{
prime=false;
break;
}
if(prime)
{
cout<<setw(5)<<m;
n=n+1;
}
if(n%10==0)
cout<<endl;
}
cout<<endl; return 0;
}
运行结果如下:

5、3.编写一程序,计算100!,并讨论使用什么数据类型来存储。 程序如下:
#include<iostream> using namespace std; long float fac(int); int main() {
int n;
long float y;
cout<<"please input a data:"; cin>>n; y=fac(n);
cout<<n<<"!="<<y<<endl; return 0; }
long floatwww.gzlij.com fac(int n) {
long float f; if(n<0) { cout<<"n<0,data error!"<<endl; f=-1; }
else if(n==0||n==1) f=1; else
f=fac(n-1)*n; return f; }
运行结果为:
