当前位置:文档之家› 5-3 循环结构程序设计

5-3 循环结构程序设计

北京建筑工程学院
计算机教学与网络信息部计算机程序设计基础实验报告
实验5-3:实验名称循环结构程序设计(三) 实验地点大兴基础楼B座201
姓名张三专业土木工程班级土081 学号 2 日期2009.04.21
【实验目的】
(1)掌握循环嵌套和多重循环的使用
(2)掌握基本输入和输出多组数据的常用方法
【实验要求】
(1)掌握循环嵌套和多重循环的使用
(2)掌握基本输入和输出多组数据的常用方法
【实验环境】
(1) Microsoft XP操作系统
(2) Microsoft VC++ 6.0
【实验内容】
1.自然数的和之和
/acmhome/problemdetail.do?&method=showdetail&id=3063
题目描述:计算S=1+(1+2)+(1+2+3)+…+(1+2+…+N).已知N,要求写程序求出S。

输入:
第一行有1个整数T,表示有T组测试数据。

第二行~第T+1行,每行有1个整数N,1<=N<=200。

输出:对于每组输入数据,输出一行,包含一个整数,即此时S的值。

样例输入:
2
1
200
样例输出:
1
1353400
2.美食节之敲诈
/acmhome/problemdetail.do?&method=showdetail&id=2877
题目描述:
临海每年都会在临海体育馆举办一次美食节,可能xzc太宅了,大二才知道,虽然知道的有点晚了,但是不妨碍xzc好好吃一顿,可是很不巧啊,xzc忘了带money 了,为什么那么多香气腾腾的美食,xzc无耻的向同行的帅哥美女们打起了主意,但是打秋风的事是可一而不可再的,碍于脸面关系,每个人最多只请客x元,给出与xzc一同去逛美食节的人数n,以及n个人每个人所带的钱数,请你计算出xzc在美食节上最多能敲诈多少元?说明:X可能大于携带的money。

输入:
输入含多组数据,每组数据含两行,第一行有两个整数n和x,以空格分开,n 代表去美食节的人数,x代表xzc最多向其他人每个人敲诈x元;第二行为n个正整数,分别代表n个人每个人携带的money数量。

输入直到文件结束为止(即EOF)。

输出:每组输出数据占一行,即输出xzc在美食节上最多能敲诈的money数量。

样例输入:
5 2 // n,x
1 2 3 4 5 // m
样例输出:
9
提示:
while(n--){ if(m>=x)sum+=x;else sum+=x;}
3.水仙花数
/acmhome/problemdetail.do?&method=showdetail&id=1372
题目描述:
春天是鲜花的季节,MM们也是花枝招展,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。

现在要求输出所有在m和n范围内的水仙花数。

输入:
输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999)。

输出:
对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开;如果给定的范围内不存在水仙花数,则输出no;每个测试实例的输出占一行。

样例输入:
100 120
no
370 371
4.自然数对
/acmhome/problemdetail.do?&method=showdetail&id=3062
题目描述:
知道2个自然数A,B,如果A+B,A-B都是平方数,那么A,B就是自然数对。

要求写程序判断给定的2个数A,B是否为自然数对。

输入:
第一行有1个整数T,表示有T组测试数据。

第二行~第T+1行,每行有2个数据A,B,其中0<=A+B<=2^31且A>B。

输出:
对于每组测试数据输出一行,包含"YES"或者"NO"。

"YES"表示该数对是自然数对,否则输出"NO"。

样例输入:
2
17 8
3 1
样例输出:
YES
NO
提示:
sqrt((a+b)*(a+b))= =(a+b) && sqrt((a-b)*(a-b))= =(a-b) ? YES : NO
5.切蛋糕
/acmhome/problemdetail.do?&method=showdetail&id=3299
题目描述:
今晚是GG的生日,大家的口福又来了哦,蛋糕可是少不了的,不过这蛋糕可不是人人都有的吃的哦,你得费点脑筋呢,只要你能用n刀切出最多块数的蛋糕(刀子每次都垂直于桌面),你就可以吃到美味的蛋糕了哦,(注意:切出的蛋糕大小可以不等)。

怎么样,相信聪明的你吃到这块蛋糕应该不是问题吧?
输入:输入包括多组数据,每组数据就是要切的刀数n(n<10000);
输出:每组输出切成的蛋糕数m
样例输入:
1
2
56
6.母牛的故事
/acmhome/problemdetail.do?&method=showdetail&id=1376
题目描述:
有一头母牛,它每年年初生一头小母牛。

每头小母牛从第四个年头开始,每年年初也生一头小母牛。

请编程实现在第n年的时候,共有多少头母牛?
输入:
输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。

n=0表示输入数据的结束,不做处理
输出:对于每个测试实例,输出在第n年时母牛的数量。

每个输出占一行。

样例输入:
2
4
5
样例输出:
2
4
6
7.素数的判定
/acmhome/problemdetail.do?&method=showdetail&id=1374
题目描述:
对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x,y<=50),判定该表达式的值是否都为素数。

输入:
输入数据有多组,每组占一行,由两个整数x,y组成,当x=0,y=0时,表示输入结束,该行不做处理。

输出:
对于每个给定范围内的取值,如果表达式的值都为素数,则输出"OK",否则请输出“Sorry”,每组输出占一行。

样例输入:
0 0
样例输出:
OK
8.素数
/acmhome/problemdetail.do?&method=showdetail&id=1098题目描述:输出100->200之间的素数的个数,以及所有的素数。

输入:无
输出:100->200之间的素数的个数,以及所有的素数。

样例输入:
样例输出:
21
101 103 … 197 199
9.打印菱形
/acmhome/problemdetail.do?&method=showdetail&id=1172题目描述:从键盘输入一个整数n(1≤n≤9),打印出指定的菱形。

输入:正整数n(1≤n≤9)。

输出:指定菱形。

第一行前面有n-1个空格,第二行有n-2个空格,以此类推。

样例输入:
5
样例输出:
*
***
*****
*******
*********
*******
*****
***
*
10.打印直角三角形
/acmhome/problemdetail.do?&method=showdetail&id=1462
题目描述:从键盘输入一个整数n(1≤n≤9),打印出指定的菱形。

输入直角三角形的直角边长度(两个直角边相同),打印输出该图形。

如输入5,输出下列图形:
*
**
***
****
*****
输入:
输入数据第一行为n,表示一共有n组数据输入,后面有n行,每行表示直角边长度(两个直角边相同)。

输出:以*字符来打印输出直角三角形图形。

样例输入:
3
1
2
3
样例输出:
*
*
**
*
**
***
【实验方法】
1.自然数的和之和
【源代码】
【运行结果】
【结论】
2.美食节之敲诈
【源代码】
【运行结果】
【结论】3.水仙花【源代码】
【运行结果】【结论】
4.自然数对【源代码】
【运行结果】【结论】
5.切蛋糕【源代码】
【运行结果】【结论】
6.母牛的故事【源代码】
【运行结果】
【结论】
7.素数的判定
【源代码】
【运行结果】
【结论】
8.素数
【源代码】
【运行结果】
【结论】
9.打印菱形
【源代码】
【运行结果】
【结论】
10.打印直角三角形
【源代码】【运行结果】【结论】【成绩评定】。

相关主题