关闭

循环程序设计

250人阅读 评论(0) 收藏 举报

实验三  循环程序设计

一.实验目的

1. 掌握各种循环语句的程序设计。

二.实验环境

1. 硬件:PII以上计算机;

2. 软件:Windows、Visual C++ 6.0;

3. 其它:一张软盘或者U盘等可移动的存储设备。

三.实验内容

练习1.求给出的任意两数之间的所有素数,输出结果要求每5个数打印一行。

运行结果示例:

练习2.编写程序,输出具有abcd=(ab+cd)2性质的全部4位数。

运行结果示例:

练习3.编写程序,输出100~1000之间所有满足如下要求的数:其个位数等于百位数,其十位数不等于百位数且是一个奇数,如131、272等。输出结果,并统计共有多少个这样的数。(使用for语句)

运行结果示例:

练习4.编写程序,求出所有小于或等于100的自然数对。自然数对是指两个自然数的和与差都是平方数,如8与17的和8+17=25与其差17-8=9都是平方数,则8和17称自然数对。

运行结果示例:

*练习5.如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则整数A和B称为亲密数。编写程序,求出6000以内的全部亲密数。

分析:计算数A的各因子的算法是用A依次对i(i=1~A/2)进行模运算,若模运算结果等于0,则i为A的一个因子;否则i就不是A的因子。

运行结果示例:


 

数组补充实验

练习1.编写程序,从键盘上输入10个数存入数组中,然后输出10个数的平均值、最大值和最小值。

要 求:程序中只允许使用1个&&1重循环

运行结果示例:

练习2.从键盘读入10个数分别存储至数组a和数组b中,要求将两个一维数组中对应元素的值相减后显示出来。

运行结果示例:

 

 

 

 

 

练习1

#include<stdio.h>

#include<math.h>

void main()

{

int m,k,i,n,t=0;

printf("Input the range:");

scanf("%d--%d",&m,&n);

for(m=m;m<=n;m=m+1)

{

k=sqrt(m);

for(i=2;i<=k;i++)

if(m%i==0)break;

if(i>=k+1)

{printf("%5d",m)

if(t%5==0)

printf("\n");

t=t+1;

}

printf("\n");

}

 

 

练习2

#include<iostream.h>

void main()

{

int a,x,y;

for(a=1000;a<=9999;a++)

{

x=a%100;

y=a/100;

if(a==(x+y)*(x+y))

cout<<a<<" ";

}

}                  

      

 

 

练习3

#include<iostream.h>

void main()

{

int a,q,w,x,y,z,n=0;

for(a=100;a<=1000;a++)

{

x=a%10;

w=a/10;

y=w%10;

z=w/10;

q=z%2;

if(x==z&&y!=z&&q!=0)

{

cout<<a<<" ";

n++;

}

}

cout<<n<<endl;

}

 

 

             

 

 

 

练习4

#include<iostream.h>

#include<math.h>

void main()

{

int i=1,n,x,y;

while(i<100)

{

n=1;

while(n<100)

{

x=i+n;

y=fabs(i-n);

if(i<n&&sqrt(x)==(int)sqrt(x)&&sqrt(y)==(int)sqrt(y))

cout<<i<<"与"<<n<<endl;

n++;

}

i++;

}

}

 

                    

      

 

练习5

#include<iostream.h>

void main()

{

int i,j,n,a,b;

cout<<"the friendly-numberspair:"<<endl;

for(i=1;i<=6000;i++)

{

a=0;

b=0;

for(n=1;n<=i/2;n++)

if(i%n==0)a=a+n;

for(j=1;j<=a/2;j++)

if(a%j==0)b=b+j;

if(i==b&&i<a)

cout<<i<<"与"<<a<<endl;

}

}    

 

 

数组补充实验

习题1

#include<iostream.h>

void main()

{

int a[10],i,j,sum=0;

float ave,max,min;

cout<<"please input 10numbers:"<<endl;

for(i=0;i<10;i++)

{

cin>>a[i];

sum+=a[i];

max=a[0];

min=a[0];

if(max<a[i])max=a[i];

if(min>a[i])min=a[i];

}

ave=sum/10.0;

cout<<"the maxis:"<<max<<endl<<"the minis:"<<min<<endl<<"the aveis:"<<ave<<endl;

}

 

 

习题2

#include<iostream.h>

void main()

{

int a[5],b[5],c[5],i,j,x;

cout<<"输入a数组:";

for(i=0;i<5;i++)cin>>a[i];

cout<<"输入b数组:";

for(j=0;j<5;j++)cin>>b[j];

i=0;

j=0;

for(x=0;x<5;x++)

{

c[x]=a[i]-b[j];

cout<<c[x]<<"  ";

i++;j++;

}

cout<<endl;

}

 

 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:28413次
    • 积分:856
    • 等级:
    • 排名:千里之外
    • 原创:63篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    文章存档
    最新评论