Chinaunix首页 | 论坛 | 博客
  • 博客访问: 112664
  • 博文数量: 106
  • 博客积分: 2025
  • 博客等级: 大尉
  • 技术积分: 1165
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-06 12:51
文章分类

全部博文(106)

文章存档

2012年(106)

我的朋友

分类: C/C++

2012-05-07 18:27:29

实验三 循环程序设计

一.实验目的

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

#include

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

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<

}

}

练习3

#include

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<

n++;

}

}

cout<

}

练习4

#include

#include

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

cout<

n++;

}

i++;

}

}

练习5

#include

void main()

{

int i,j,n,a,b;

cout<<"the friendly-numberspair:"<

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

cout<

}

}

数组补充实验

习题1

#include

void main()

{

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

float ave,max,min;

cout<<"please input 10numbers:"<

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

{

cin>>a[i];

sum+=a[i];

max=a[0];

min=a[0];

if(max

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

}

ave=sum/10.0;

cout<<"the maxis:"<

}

习题2

#include

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<

i++;j++;

}

cout<

}

阅读(914) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~