文档库 最新最全的文档下载
当前位置:文档库 › 顺序结构程序设计习题

顺序结构程序设计习题

顺序结构程序设计习题
顺序结构程序设计习题

For循环结构程序设计习题

1、【约数问题】

题目描述:键入一个自然数x,请编程显示这个自然数的所有约数,并输出约数之和s 。

输入数据:27

输出结果:1 3 9 27 s=40

2、【质数问题】

题目描述:判断从键盘输入的一个数m是否为质数,如果是就输出“Yes”,如果不是就输出“No”。

测试数据:2 5 8 17 37 101 110 137

3、【评委打分问题】

题目描述:在歌手大奖赛中,有10个评委为参赛的选手打分,分数为1—100分。选手最后得分为:去掉一个最高分和一个最低分,取其余8个分数的平均值。请编写一个程序实现。

输入数据: 90 91 93 94 90 99 98 92 91 95

输出结果:93

4、【斐波那契数列问题】

题目描述:有这样一种数列:1、1、2、3、5、8、……,这个数列的特点是:第1、2两个数为1,1,从第3个数开始,该数是其前面两个数之和。这种数列被称为Fibonacci(斐波那契)数列,请编程输出斐波那契数列的前20项。

输出结果:1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765

5、【求e值问题】

题目描述:已知e=1+1/1!+1/2!+1/3!+1/4!+…+1/n! ,请编程求e的值。

输入数据:10

输出结果:2.718282

6、【谁是小偷问题】

题目描述:警察局抓了甲、乙、丙、丁四个偷窃嫌疑犯,其中有一人是小偷,审问中:甲说:“我不是小偷。”

乙说:“丙是小偷。”

丙说:“小偷肯定是丁。”

丁说:“丙冤枉人!”

现在已经知道四人中三人说的是真话,一人说的是假话,并且他们中有且仅有一名小偷,请你写个程序帮助破案!

结论:丙是小偷。

7、【搜索问题】

题目描述:编程找出四位整数abcd中满足下述关系的数:

(ab+cd)(ab+cd)=abcd

输出结果:2025 3025 9801

8.【回文数问题】

题目描述:中文里,有回文诗句、对联,如:“灵山大佛,佛大山灵”",“客上天然居,居然天上客”等等,都是美妙的符合正念倒念都一样的回文句;回文数则是有类似22、383、5445、12321,不论是从左向右顺读,还是从右向左倒读,结果都是一样的特征。请你编程测试下面的数是否为回文数,如果是就输出“Yes”,不是就输出“No”。

测试数据:121 1234 10001 10101 1233421

思考:如何输出10000—20000中的所有回文数。

While和DO While循环结构程序设计参考答案

1、产值问题

#include

void main()

{

float a,b;

int n=0;

cin>>a;

b=a;

while (b<=2*a)

{

b*=1.12;

n++;

}

cout<

}

2、求最大值问题

#include

void main()

{

float x,max,s=0;

cin>>x;

max=x;

while (x!=0)

{

s+=x;

if (x>max) max=x;

cin>>x;

}

cout<<"s="<

cout<<"max="<

3、反序输出问题

#include

void main()

{

int a;

cin>>a;

while (a)

{

cout<

a/=10;

}

}

4、超市购物问题

#include

void main()

{

int i;

float s;

cin>>i; while (i!=0)

{

switch (i)

{

case 101:s+=10.50;break; case 102:s+=20.00;break; case 103:s+=3.0;break; case 201:s+=110;break; case 202:s+=20.60;break; case 203:break;

case 301:s+=50;break;

case 302:s+=45.50;break; case 303:s+=7.80;

}

cin>>i;

}

cout<

}

5、求和问题

#include

void main()

{

int a=2,b=1,c,i=0;

float s=0;

while (i<20)

{

s+=float(a)/b;

c=a+b;

b=a;

a=c;

i++;

}

cout<<"s="<

}

6、求和问题

#include

void main()

{

int n=1;

float a1=1,a2,t,s=0;

do{

s+=a1;

n++;

a2=1.0/n;

t=a1-a2;

a1=a2;

}while (t>=0.001);

cout<

}

相关文档