当前位置:文档之家› 顺序结构程序设计习题

顺序结构程序设计习题

输出结果:58 19
8、【质数问题】
题目描述:用筛选法求100之内的质数,要求每行输出5个数据。
输出结果:2 3 5 7 11
13 17 19 23 29
31 37 41 43 47
53 59 61 67 71
73 79 83 89 97
多重循环结构程序设计及应用习题参考答案
1、完数问题
#include <iostream.h>
for (b=1;b<33;b++)
{
c=100-a-b;
if (c%3==0)
if (a*5+b*3+c/3==100)
cout<<a<<' '<<b<<' '<<c<<endl;
}
}
4、四大淡水湖大小问题
#include <iostream.h>
void main()
{
int a,b,c,d,s; //a:dong, b:hong, c:po, d:tai
for (b=1;b<=5;b++)
for (c=1;c<=5;c++)
for (d=1;d<=5;d++)
for (e=1;e<=5;e+() s+=(a==5); else s+=(a==b-1);
if(b+1==6) s+=(a==1); else s+=(a==b+1);
一维数组程序设计习题
1、【逆序输出问题】
题目描述:按照顺序从键盘读入十个数据,以逆序方式输出。
输入数据:1 2 3 4 5 6 7 8 9 10
输出结果:10 9 8 7 6 5 4 3 2 1
2、【数组元素的移动问题】
题目描述:将元素个数为10的数组a中的第一个元素移到数组末尾,其余数据依次往前平移一个位置,请编程实现。
void main()
{
int i,j,s;
for (i=1;i<1000;i++)
{
s=0;
for(j=1;j<i;j++)
if (i%j==0) s+=j;
if (s==i) cout<<i<<" ";
}
}
2、钞票换硬币问题
#include <iostream.h>
void main()
{
int a,b,c,s=0;
输出结果:344402
5、【排序问题】
题目描述:从键盘输入10个数,将它们按照从小到大的顺序输出。
输入数据:72 98 79 66 39 95 96 25 5 37
输出结果:5 25 37 39 66 72 79 95 96 98
6、【进制转换问题】
题目描述:请编程将一个从键盘输入的十进制整数转化为二进制数输出。
for (a=1;a<=99;a++)
for (b=1;b<=49;b++)
for (c=1;c<=19;c++)
if (a+b*2+c*5==100) s++;
cout<<s<<endl;
}
3、百鸡问题
#include <iostream.h>
void main()
{
int a,b,c;
for (a=1;a<20;a++)
输入格式:32570
输出格式:111111100111010
7、【圆环找数问题】
题目描述:有一组数,其排列形式如下:11,19,9,12,5,20,1,18,4,16,6,10,15,2,17,3,14,7,13,15,8且尾部8和头部11首尾相连,构成环形的一组数,编程找出相邻的4个数,其相加之和最大,并给出它们的起始位置。
for (a=1;a<=4;a++)
for (b=1;b<=4;b++)
if (a!=b)
for (c=1;c<=4;c++)
if ((b!=c)&&(a!=c))
{
s=0;
d=10-a-b-c;
s+=(((a==1)+(b==4)+(c==3))==1);
s+=(((b==1)+(a==4)+(c==2)+(d==3))==1);
for (a=3;a<=4;a++)
for (b=1;b<=5;b++)
if ((b!=3)&&(b!=4))
for (c=2;c<=3;c++)
for (d=1;d<=4;d++)
if (d!=3)
for (e=2;e<=5;e++)
if ((e!=3)&&(e!=4))
if ((a+b+c+d+e==15)&&
if(b-1==0) s+=(c==5); else s+=(c==b-1);
if(b-1==0) s+=(d==5); else s+=(d==b-1);
if(c-1==0) s+=(b==5); else s+=(b==c-1);
if(c-1==0) s+=(d==5); else s+=(d==c-1);
if(c+1==6) s+=(d==1); else s+=(d==c+1);
输出结果:1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
4、【求和问题】
题目描述:编程计算并输出S=
其中,Xi的值为1、8、5、7、2、99、34、67、2589、19,Yi的值为2、22、14、3、7、9、11、8、132、30。
输入数据:1 2 3 4 5 6 7 8 9 10
输出结果:2 3 4 5 6 7 8 9 10 1
3、【斐波那契数列问题】
题目描述:有这样一种数列:1、1、2、3、5、8、……,这个数列的特点是:第1、2两个数为1,1,从第3个数开始,该数是其前面两个数之和。这种数列被称为Fibonacci(斐波那契)数列,请编程输出斐波那契数列的前20项(用一维数组完成)。
s+=(((b==4)+(a==3))==1);
s+=(((c==1)+(d==4)+(b==2)+(a==3))==1);
if (s==4)
cout<<a<<b<<c<<d<<endl;
}
}
5、分书问题
#include <iostream.h>
void main()
{
int a,b,c,d,e;//a:zhang b:wang c:liu d:zhao e:qian
(a*b*c*d*e==120))
cout<<a<<b<<c<<d<<e<<endl;
}
6、座位问题
#include <iostream.h>
void main()
{
int a,b,c,d,e,s; //a:zhao b:qian c:sun d:li e:zhou
for (a=1;a<=5;a++)
相关主题