C语言程序设计上mooc答案 下载本文

int main() {

int max, i = 0, sum = 0; scanf(\ while(sum < max) {

i++; sum += i; }

printf(\}

第六周作业

数字正方型

成绩 折扣 10 开启时间 2014年11月12日 星期三 05:55 0.8 折扣时间 2014年11月26日 星期三 05:55 关闭时间 2014年12月3日 星期三 05:55 允许迟交 否 这是双重循环的入门题目,大家来看看,你会做吗?

输入 n 的值,输出如下例( n=4 )所示的由数字组成的正方型。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 输入: n

输出:

数字组成的正方型

测试输入 期待的输出 时间限制测试用例 1 以文本方式显示 1. 1? 1秒 64M 内存限制 0 额外进程 以文本方式显示 1. 1? 测试用以文本方式显以文本方式显示 1秒 64M 0

测试输入 期待的输出

时间限制

内存限制

额外进程

例 2 示

1.

1.

2?

2.

1 2? 3 4?

测试用例 3

以文本方式显示 1.

3?

以文本方式显示 1. 2. 3.

1 2 3? 4 5 6? 7 8 9?

1秒 64M 0

测试用例 4

以文本方式显示 1.

5?

以文本方式显示 1. 2. 3. 4. 5.

1 2 3 4 5? 6 7 8 9 10? 11 12 13 14 15? 16 17 18 19 20? 21 22 23 24 25?

1秒 64M 0

Code

#include int main() {

int n, x, y, count = 0; scanf(\ for(y = 0; y < n; y++) { for(x = 0; x < n; x++) { count++; printf(\ } printf(\ }

return 0; }

空心字符菱形

成绩 10 开启时间 2014年11月13日 星期四 06:10 折扣 0.8 折扣时间 2014年11月26日 星期三 06:10 关闭时间 2014年12月3日 星期三 06:10 允许迟交 否 输入: 菱型起始字母和菱形的高度。 输出:

参看测试用例,打印空心的由字符组成的菱形。

测试输入 期待的输出 时间限制 测试用例 1 1. 以文本方式显示 1. C 4? 2. 3. 4. 5. 6. 7. C? D D? E E? F F? E E? D D? C? 以文本方式显示 1秒 64M 内存限制 0 额外进程 测试用例 2 以文本方式显示 以文本方式显示 1. 1. B 2? 2. 3. B? C C? B? 1秒 64M 0 Code: #include int main() {

int n, i, q, p; char ch;

scanf(\ for(i = 0; i < n; i++) { for(q = i; q < n - 1; q++) printf(\ printf(\ for(q = 0; q < (2 * i - 1); q++)

{ printf(\ if(q == 2 * i - 2) printf(\ } printf(\ }

for(i = n - 2; i >= 0; i--) {

for(q = i; q < n - 1; q++) printf(\ printf(\ for(q = 2 * i - 1; q > 0; q--) { printf(\ if(q == 1) printf(\ } printf(\ } return 0; }

邮票组合

成绩 折扣 10 开启时间 2014年11月12日 星期三 06:20 0.8 折扣时间 2014年11月26日 星期三 06:20 关闭时间 2014年12月3日 星期三 06:20 允许迟交 否 背景: 我们寄信都要贴邮票,在邮局有一些小面值的邮票,通过这些小面值邮票中的一张或几张的组合,可以满足不同邮件的不同的邮资。

现在,邮局有4种不同面值的邮票。在每个信封上最多能贴5张邮票,面值可相同,可不同。

输入:

四种邮票的面值。

输出:

用这四种面值组成的邮资最大的从1开始的一个连续的区间。

说明:

如结果为10,则表明使用4张邮票可组合出1、2、3、4、5、6、7、8、9、10这些邮资。

名词解释:

邮资:就是你寄东西需要花多少钱。

邮票面额:是由国家发行的具有固定价格的花纸片,被称为邮票。

如果你寄东西,邮局称了重量,告诉你要240分。这样你就要贴邮票了。如果现在邮局的邮票有面值为80分、50分、20分和10分的四种,你就可以采用不同的组合得到240的邮资,例如:采用3张80分的可以凑出240分;或者24张10分的凑起来240分也可以。显然不同邮票的组合都可以得到同样一种邮资。

测试输入 期待的输出 时间限制测试用例 1 1. 1 4 12 21? 1. The max is 71.? 以文本方式显示 以文本方式显示 1秒 内存限制64M 额外进程0 测试用例 2 以文本方式显示 1. 1 3 7 12? 以文本方式显示 1. The max is 46.? 1秒 64M 0 Code:

#include int main() { int i[5],t[3126],n,n1,n2,n3,n4,temp = 0; i[0] = 0; for(n = 1; n < 5; n++) scanf(\ for(n = 0; n < 3126; n++) t[n] = 0; for(n = 0; n < 5; n++) { for(n1 = 0; n1 < 5; n1++) { for(n2 = 0; n2 < 5; n2++) { for(n3 = 0; n3 < 5; n3++) { for(n4 = 0; n4 < 5; n4++) { t[temp] = i[n] + i[n1] + i[n2] + i[n3] + i[n4]; temp++; } }