当前位置:文档之家› 夏学期C语言上机练习参考答案汇总

夏学期C语言上机练习参考答案汇总

70011 简化的插入排序 (2)

70012 求平均值 (5)

70013 将数组中的数逆序存放 (6)

70014 求最大值及其下标 (7)

70015 交换最小值和最大值 (8)

70016 选择法排序 (9)

70017 在数组中查找指定的元素 (10)

70021 求矩阵各行元素之和 (11)

70022 矩阵运算 (12)

70023 九九乘法表 (13)

夏2周 (14)

70024 判断上三角矩阵 (14)

70025 算算看,这是第几天? (15)

70026 找鞍点(选作) (16)

70031 将字符串逆序存放 (17)

70032 查找字符 (18)

70033 统计大写辅音字母 (19)

70034 字符串替换 (20)

70035 将十六进制字符串转换为十进制整数 (21)

70036 将十进制字符串转换为十进制整数 (22)

70052 统计字符出现次数 (23)

夏3周 (24)

10008 求1~100中能被6整除的所有整数的和 (24)

20014 计算三门课程的平均成绩 (25)

20016 计算x的平方 (25)

20021 计算分段函数的值 (25)

20022 计算摄氏温度 (26)

70051 找最大值并交换 (27)

80011 循环移动 (28)

80012 在数组中查找指定元素 (29)

80013 使用函数的选择法排序 (30)

80014 报数 (32)

夏4周 (35)

10012 函数程序设计 (35)

10024 计算最长的字符串长度 (36)

10025 字符串的连接 (37)

40017 求2/1+3/2+5/3+8/5+... . (38)

80021 找最大的字符串 (39)

80022 找最长字符串 (40)

80023 使用函数删除字符串中的字符 (41)

80024 使用函数实现字符串复制 (42)

80025 判断回文字符串 (43)

80026 分类统计字符个数 (44)

10014 计算函数P(n,x) (45)

10016 十进制转换二进制 (46)

10017 递归函数程序设计求Fabonacci数列 (48)

10019 改错题error10_1.cpp (49)

10022 编程题 (50)

10026 指定位置输出字符串 (50)

10027 藏尾诗 (51)

10028 改错题error11_2.cpp (52)

40065 分解质因数 (53)

40067 打印图案 (55)

夏6周 (56)

30062 输出21世纪所有闰年 (56)

90001 调试示例error09_1.cpp (56)

90002 时间换算 (57)

90003 计算平均成绩 (58)

90004 计算两个复数之积 (59)

90005 查找书籍 (60)

90006 通讯录排序 (61)

90007 算算看,这是第几天? (62)

90008 使用函数实现时间换算 (63)

90009 找出总分最高的学生 (64)

其它练习 (65)

20027计算旅途时间。 (65)

20028数字加密 (66)

教材习题3-4 (上机练习30009,统计学生成绩) (66)

30061 出租车计费 (67)

教材习题4-12(p77) (68)

教材习题4-14(p77) (69)

50051 数字金字塔(此题与40067打印图案的思路相似) (69)

夏1周

70011 简化的插入排序

输入一个正整数repeat (0

输入一个正整数n(0

输入输出示例:括号内为说明

输入:

4 (repeat=4)

5 (数据的个数n=5)

1 2 4 5 7 (5个有序整数)

3 (待插入整数x=3)

4 (数据的个数n=4)

1 2 5 7 (4个有序整数)

-10 (待插入整数x=-10) 3 (数据的个数n=3) 1 2 4 (3个有序整数) 100 (待插入整数x=100) 5 (数据的个数n=5) 1 2 4 5 7 (5个有序整数)

4 (待插入整数x=4) 输出:

1 2 3 4 5 7

-10 1 2 5 7

1 2 4 100

70012 求平均值

输入一个正整数repeat (0

输入一个正整数n (1

输入

2 (repeat=2)

3 (n=3)

1 2 -6

5 (n=5)

12 2 5 4 0

输出

average = -1.00

average = 4.60

70013 将数组中的数逆序存放

输入一个正整数 repeat (0

输入一个正整数 n (1

输入输出示例:括号内为说明

输入

2 (repeat=2)

4 (n=4)

10 8 1 2

5 (n=5)

1 2 5 4 0

输出

2 1 8 10

0 4 5 2 1

70014 求最大值及其下标

输入一个正整数 repeat (0

输入一个正整数 n (1

输入输出示例:括号内为说明

输入

3 (repeat=3)

3 (n=3)

1 6 4

4 (n=4)

10 8 1 9

5 (n=5)

1 2 0 4 5

输出

max = 6, index = 1 (最大值6的下标是1)

max = 10, index = 0 (最大值10的下标是0)

70015 交换最小值和最大值

输入一个正整数 repeat (0

输入一个正整数 n (1

输入输出示例:括号内为说明

输入

3 (repeat=3)

5 (n=5)

8 2 5 1 4

4 (n=4)

1 5 6 7

5 (n=5)

5 4 3 2 1

输出

After swap: 1 2 5 4 8

After swap: 1 5 6 7

70016 选择法排序

输入一个正整数 repeat (0

输入一个正整数 n (1

输入

3 (repeat=3)

4 (n=4)

5 1 7 6

3 (n=3)

1 2 3

5 (n=5)

5 4 3 2 1

输出

After sorted: 7 6 5 1

After sorted: 3 2 1

70017 在数组中查找指定的元素

输入一个正整数 repeat (0

输入一个正整数 n (1

输入输出示例:括号内为说明

输入:

2 (repeat=2)

6 (n=6)

1 3 5 7 9 5

5 (x=5)

4 (n=4)

1 3 5 7

2 (x=2)

输出:

5: a[2]

70021 求矩阵各行元素之和

输入2个正整数 m 和 n (1<=m<=6, 1<=n<=6),然后输入矩阵 a(m 行 n 列)中的元素,分别求出各行元素之和,并输出。

输出使用语句:printf("sum of row %d is %d\n", i, sum);

输入输出示例:括号内为说明

输入:

3 2 (m=3,n=2)

6 3

1 -8

3 12

输出:

sum of row 0 is 9

sum of row 1 is -7

70022 矩阵运算

程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat (0

读入 1 个正整数n(1≤n≤6), 再读入n 阶方阵 a , 计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。

输入输出示例:括号内为说明

输入:

1 (repeat=1)

4 (n=4)

2 3 4 1

5 6 1 1

7 1 8 1

1 1 1 1

70023 九九乘法表

程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat (0

输入一个正整数n(0

提示:将乘数、被乘数和乘积放入一个二维数组中,再输出该数组。输入输出示例:括号内为说明

输入:

1 (repeat=1)

3 (n=3)

输出:

* 1 2 3

1 1

2 2 4

夏2周

70024 判断上三角矩阵

输入一个正整数 repeat (0

输入1 个正整数n (1≤n≤6)和 n 阶方阵 a 中的元素,如果 a 是上三角矩阵, 输出"YES", 否则, 输出"NO"。上三角矩阵指主对角线以下的元素都为0的矩阵, 主对角线为从矩阵的左上角至右下角的连线。

输入输出示例:括号内为说明

输入:

2 (repeat=2)

3 (n=3)

1 2 3

0 4 5

0 0 6

2 (n=2)

1 0

-8 2

输出:

YES

NO

70025 算算看,这是第几天?

输入一个正整数 repeat (0

输入日期(年、月、日),输出它是该年的第几天。

要求定义与调用函数 day_of_year(year, month, day),计算并返回year(年)、month(月)和day(日)对应的是该年的第几天,函数形参year、month和day的类型是int,函数类型也是int。

输入输出示例:括号内为说明

输入:

2 (repeat=2)

1981 3 1 (1981年3月1日)

2000 3 1 (2000年3月1日)

输出:

days of year: 60 (1981年3月1日是该年的第60天)

days of year: 61 (2000年3月1日是该年的第61天)

70026 找鞍点(选作)

输入一个正整数 repeat (0

输入 1 个正整数n(1≤n≤6)和 n 阶方阵 a 中的元素,假设方阵 a 最多有1个鞍点,如果找到 a 的鞍点, 就输出其下标, 否则,输出"NO"。鞍点的元素值在该行上最大, 在该列上最小。

输入输出示例:括号内为说明

输入:

2 (repeat=2)

4 (n=4)

1 7 4 1

4 8 3 6

1 6 1 2

0 7 8 9

2 (n=2)

1 7

4 1

输出:

a[2][1] = 6

70031 将字符串逆序存放

输入一个以回车结束的字符串(少于80个字符),将它的内容逆序输出。如"ABCD" 的逆序为"DCBA"。

输入输出示例:括号内为说明

输入:

Welcome to you!

输出:

70032 查找字符

输入一个正整数repeat (0

输入一个字符,再输入一个以回车结束的字符串(少于80个字符),在字符串中查找该字符,如果找到,输出该字符在字符串中所对应的最大下标 (下标从0开始);否则输出"Not Found"。

输入输出示例:括号内为说明

输入:

2 (repeat=2)

m (字符'm')

programming (字符串"programming")

a (字符'a')

1234 (字符串"1234")

输出:

index = 7 ('m'在"programming"中对应的最大下标是7)

Not Found ("1234"中没有'a')

70033 统计大写辅音字母

输入一个正整数 repeat (0

输入一个以回车结束的字符串(少于80个字符),统计并输出其中大写辅音字母的个数。大写辅音字母:除'A', 'E', 'I', 'O', 'U'以外的大写字母。

输入输出示例:括号内为说明

输入:

2 (repeat=2)

HELLO

group

输出:

count = 3 ("HELLO"中有3个大写辅音字母)

count = 0 ("group"中没有大写辅音字母)

70034 字符串替换

输入一个正整数 repeat (0

输入一个以回车结束的字符串(少于80个字符),将其中的大写字母用下面列出的对应大写字母替换,其余字符不变,输出替换后的字符串。

原字母对应字母

A Z

B Y

C X

D W

……

X C

Y B

Z A

输入输出示例:括号内为说明

输入:

2 (repeat=2)

A flag of USA

1+2=3

相关主题
文本预览
相关文档 最新文档