C语言程序设计第四版第六章复习资料谭浩强.docx
- 文档编号:17037469
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:19
- 大小:16.59KB
C语言程序设计第四版第六章复习资料谭浩强.docx
《C语言程序设计第四版第六章复习资料谭浩强.docx》由会员分享,可在线阅读,更多相关《C语言程序设计第四版第六章复习资料谭浩强.docx(19页珍藏版)》请在冰点文库上搜索。
C语言程序设计第四版第六章复习资料谭浩强
1、用筛选法求之内的素数。
解:
<>
<>
()
{[];
(<)
[];
[];
(<())
(<)
{([][])
([][])
[];
}
("\");
(<)
{([])
{(""[]);
;
}
()
{("\");
;
}
}
("\");
;
}
2、用选择法对整数排序。
解:
<>
()
{[];
(":
\");
(<)
{("[]");
(""[]);
}
("\");
(":
\");
(<)
(""[]);
("\");
(<)
{;
(<)
([]>[]);
[];
[][];
[];
}
("\:
\");
(<)
(""[]);
("\");
;
}
3、求一个×的整型矩阵对角线元素之和。
解:
<>
()
{
[][];
;
(":
\");
(<)
(<)
(""[][]);
(<)
[][];
("\");
;
}
4、有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。
解:
<>
()
{[]{};
;
(":
\");
(<)
(""[]);
("\");
(":
");
("");
[];
(>)
[];
{(<)
{([]>)
{[];
[];
(<)
{[];
[];
;
}
;
}
}
}
(":
\");
(<)
(""[]);
("\");
;
}
5、将一个数组中的值按逆序重新存放。
例如,原来顺序为、、、、。
要求改为、、、、。
解:
""
()
{[];
(":
\");
(<)
(""[]);
(":
\");
(<)
(""[]);
(<)
{[];
[][];
[];
}
("\:
\");
(<)
(""[]);
("\");
}
6、输出以下的杨辉三角形(要求输出行)。
解:
""
()
{[][]{};
(<>)*最多可输出行*
{("请输入杨辉三角形的行数:
");
("");
}
(<)
[][];*第一列全置为一*
(<)
(<)
[][][][][][];*每个数是上面两数之和*
(<)*输出杨辉三角*
{(<)
(""[][]);
("\");
}
}
7、输出“魔方阵”。
所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。
例如,三阶魔方阵为
解:
<>
()
{[][];
;
()
{("():
");
("");
(()(<)())
;
}
(<)
(<)
[][];
;
[][];
(<*)
{;
;
((<)(>))
{;
;
}
{(<);
(>);
}
([][])
[][];
{;
;
[][];
}
}
(<)
{(<)
(""[][]);
("\");
}
;
}
8、找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。
也可能没有鞍点。
解:
<>
*数组为行列*
()
{
[][];
(":
\");
(<)*输入数组*
(<)
(""[][]);
(<)
{[][];*开始时假设[][]最大*
;*将列号赋给保存*
(<)*找出第行中的最大数*
([][]>)
{[][];*将本行的最大数存放在中*
;*将最大数所在的列号存放在中*
}
;*先假设是鞍点,以为代表*
(<)
(>[][])*将最大数和其同列元素相比*
{;*如果不是同列最小,表示不是鞍点令为*
;}
()*如果为表示是鞍点*
{("[][]\");*输出鞍点的值和所在行列号*
;
}
}
()*如果为表示鞍点不存在*
("!
\");
;
}
9、有个数按由大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。
如果该数不在数组中,则输出“无此数”。
解:
<>
()
{[];
;
(":
\");
(""[]);
;
(<)
{(""[]);
([]>[])
;
(":
\");
}
("\");
(<)
(""[]);
("\");
()
{(":
");
("");
;
;是查找区间的起始位置
;是查找区间的最末位置
((<[])(>[]))要查的数不在查找区间内
;表示找不到
(()(<))
{();
([])
{;
(",\");
;
}
(<[])
;
;
}
()
(".\");;
("()?
");
("");
('''')
;
}
;
}
10、有一篇文章,共有行文字,每行有个字符。
要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。
解:
""
()
{;
[][];
;
(<)
{(":
\");
([]);
(<[][])
{([][]>''[][]<'')
;
([][]>''[][]<'')
;
([][]>''[][]<'')
;
([][]'')
;
;
}
}
("\\");
("\");
("\");
("\");
("\");
}
11、输出以下图案:
*****
*****
*****
*****
*****
解:
<>
()
{[]{'*','*','*','*','*'};
;
'';
(<)
{("\");
("");
(<)
("");
(<)
(""[]);
}
("\");
;
}
12、有一行电文,已按下面规律译成密码:
→→
→→
→→
..
..
..
即第个字母变成第个字母,第个字母变成第(-)个字母,非字母字符不变。
要求编程序将密码译回原文,并输出密码和原文。
解:
()
<>
()
{;
[][];
(":
");
();
("\");
;
([]'\')
{(([]>'')([]<''))
[][];
(([]>'')([]<''))
[][];
[][];
;
}
;
("\:
");
(<)
([]);
("\");
;
}
()
<>
()
{;
[];
(":
\");
();
("\\");
;
([]'\')
{(([]>'')([]<''))
[][];
(([]>'')([]<''))
[][];
[][];
;
}
;
(":
");
(<)
([]);
("\");
;
}
13、编一程序,将两个字符串连接起来,不要用函数。
解:
<>
()
{[][];
;
(":
");
("");
(":
");
("");
([]'\')
;
([]'\')
[][];
[]'\';
("\\");
;
}
14、编一个程序,将两个字符串和比较,若>,输出一个正数;若,输出;若<,输出一个负数。
不要用函数。
两个字符串用函数读入。
输出的正数或负数的绝对值应是相比较的两个字符串相应的码的差值。
例如,“”与“”相比,由于“”<“”,应输出负数,同时由于‘’和‘’的码差值为,因此应输出“”。
同理:
“”“”比较,根据第个字符比较结果,“”比“”大,因此应输出“”。
解:
<>
()
{;
[][];
(":
");
();
("\:
");
();
;
(([][])([]'\'));
([]'\'[]'\')
;
[][];
("\.\");
;
}
15、编写一个程序,将字符数组中的全部字符复制到字符数组中。
不用函数。
复制时,‘’后面的字符不复制。
解:
<>
<>
()
{
;
[][];
(":
");
("");
(<())
[][];
("\");
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 第四 第六 复习资料 谭浩强