机试试题A时间120分钟1.题目描述:如果一个整数满足其各位数字立方和为该数本身,那么该数就是一个水仙花数。(例如:13+53+33=153)。写一个程序判断输入的3个一位数能否按输入顺序构成一个3位的水仙花数,如果能构成,则输出构成的水仙花数,否则输出“no”。输入格式说明:只有一组数据,包括三个整数,每个整数的取值区间都为[0~9],整数之间以空格间隔。输出格式说明:如果这组数据能构成水仙花数则输出构成的水仙花数,否则输出“no”,输出结果后换行。输入样例:153输出样例:1532.题目描述:有一种简单的加密方法,该方法对明文中的每个字符用它在字母表中后5位对应的字符来代替,这样就得到了密文。例如字符’A’用’F’来代替。下面是明文和密文中字符的对应关系。明文ABCDEFGHIJKLM密文FGHIJKLMNOPQR明文NOPQRSTUVWXYZ密文STUVWXYZABCDE要求输入一串明文(明文中出现的字母都是大写字母,非字母的字符不用加密)对其进行加密得到密文。输入格式说明:只有一组数据。输入数据是一个字符串表示的明文(明文长度不超过80个字符),该字符串占一行。输出格式说明:输出加密后的密文,然后换行。输入样例:CLANGUAGE!输出样例:HQFSLZFLJ!3.题目描述:请写一个程序,对给定的整数序列排序,然后求排序后序列的中位数。(一个有序序列的中位数是序列中间位置上的数,如果该序列长度为偶数,则中位数取中间两个数的平均值向下取整)。输入格式说明:只有一组数据,数据由两行构成,第一行只有一个整数n(n≤100),表示序列长度(该序列中整数的个数),第二行为n个整数,每个整数的取值区间都为[-32768~32767],整数之间以空格间隔。输出格式说明:对输入数据输出一个整数,表示输入序列的中位数,输出结果后换行。输入样例:623154183511输出样例:164.题目描述:一幅m×n的灰度图像可以用一个二维矩阵表示,矩阵中的每个元素表示对应像素的灰度值。“灰度直方图”以图像中每种灰度级的象素个数来反映图像中每种灰度出现的频率。假设图像灰度为k级(灰度值从0~k-1),现以文件方式给出一个矩阵表示的灰度图像,输出从0~k-1各级灰度的像素个数。输入格式说明:输入数据来自文件“a4in.txt”,输入数据第一行为三个整数m(m≤256)、n(n≤256)和k(k≤256)分别表示图像的宽度、高度和灰度级,其后是n行数据,每行m个整数,分别表示图像各个像素的灰度值,整数之间以空格间隔。输出格式说明:输出k行数据,每行数据由两个整数组成,分别表示灰度值和该灰度像素个数,整数之间用空格分隔,灰度输出顺序为从低到高。输入样例:54160102834859121410671153610输出样例:02122132415162718291102110121130141151机试试题B时间120分钟1.题目描述:一元二次方程ax2+bx+c=0根的判别式为b2-4ac,从键盘输入三个整数a,b,c,判断对应的方程有几个不同的实根。注意:当a,b同时为0时不同实根个数为0,当a为0,b不为0时退化为一次方程,其实根个数为1。输入格式说明:只有一组数据,数据由同一行的三个整数a,b,c构成,整数之间以空格分隔。输出格式说明:输出表示不同实根数量的整数后换行。输入样例:121输出样例:12.题目描述:输入一个以‘#’结尾的字符串,要求将其中的小写字母转换为大写字母(其他字符不处理),并将整个字符串输出(包括‘#’号)。输入格式说明:只有一组数据。输入数据是一个以‘#’结尾的字符串(长度不大于80),该字符串占一行。输出格式说明:对于输入的字符串,在一行上输出转换后的字符串,然后换行。输入样例:aaaAa5,O#输出样例:AAAAA5,O#3.题目描述:给定N个不同的整数,要求对这N个整数按如下规则排序并输出。规则一:所有的偶数排在奇数前面。规则二:在规则一的前提下按照从大到小的顺序排序。输入格式说明:只有一组数据。数据由两行构成,第一行为整数n(n=100),表示代排序整数的数量。第二行是n个整数,每个整数的取值区间都为[-32768~32767],整数之间以空格间隔。输出格式说明:在一行输出排好序的整数,整数之间以空格间隔,然后换行。输入样例:512345输出样例:425314.题目描述:一幅m×n的灰度图像可以用一个二维矩阵表示,矩阵中的每个元素表示对应像素的灰度值。灰度图像二值化是将灰度图像每个像素点的灰度级变成只有两个值0或1。二值化方法是用每个像素点的灰度和一个阈值进行比较,大于等于该阈值则该像素二值化结果为1,否则二值化结果为0。阈值可以用灰度图像所有像素点的灰度平均值(用整除求平均值)表示。现以文件方式给出一个矩阵表示的灰度图像,输出二值化后的矩阵。输入格式说明:输入数据来自文件“b4in.txt”,输入第一行为两个整数m(m≤256)和n(n≤256)分别表示图像的宽度和高度,其后是n行数据,每行m个整数,分别表示图像各个像素的灰度值(0≤灰度值256)。输出格式说明:输出n行数据,每行数据由m个整数组成,表示二值化后图像的各个像素点的灰度,整数之间用空格分隔。输入样例:540102834859121410671153610输出样例:00001001011111101011机试试题C时间120分钟1.题目描述:设直角三角形两条直角边长度为a和b,斜边长度为c,则a2+b2=c2。从键盘输入三个整数a,b,c,判断对应的三角形是不是直角三角形,不是则输出“no”,是则输出其面积的2倍。输入格式说明:只有一组数据,数据由同一行的三个整数a,b,c构成,整数之间以空格分隔。输出格式说明:如果输入的三个整数可以构成一个直角三角形输出该三角形面积的2倍,否则输出“no”,然后换行。输入样例:112输出样例:no2.题目描述:请写一个程序,判断给定表达式中的括号是否匹配(左括号和右括号数量相同)。表达式中的合法括号为“(”和“)”,括号可以按照任意的次序嵌套使用。输入格式说明:只有一组数据。该数据是一个字符串形式的表达式(长度不超过80个字符),表达式占一行。输出格式说明:如果输入表达式中的括号匹配,则输出“yes”,否则输出“no”,然后换行。输入样例:((2+3))输出样例:yes3.题目描述:请写一个程序,判断输入的整数序列能否构成一个等差数列。输入格式说明:只有一组数据。数据由两行构成,第一行只有一个整数n(n≤100),表示序列长度(该序列中整数的个数),第二行为n个整数,每个整数的取值区间都为[-32768~32767],整数之间以空格间隔。输出格式说明:如果输入数据不能构成等差数列输出“no”,否则输出表示该等差数列公差(相邻两项的差)的绝对值(无符号整数),输出后换行。输入样例:5268410输出样例:24.题目描述:一幅m×n的灰度图像可以用一个二维矩阵表示,矩阵中的每个元素表示对应像素的灰度值。灰度图像反色是将灰度图像每个像素点的灰度级取反,即用最大灰度值减去当前灰度值。最大灰度值可以用灰度图像中所有像素点的最大灰度值表示。现以文件形式给出一个矩阵表示的灰度图像,输出反色的图像矩阵。输入格式说明:输入数据来自文件“c4in.txt”,输入第一行为两个整数m(m≤256)和n(n≤256)分别表示图像的宽度和高度,其后是n行数据,每行m个整数,分别表示图像各个像素的灰度值(0≤灰度值256)。输出格式说明:输出n行数据,每行数据由m个整数组成,表示反色后图像的各个像素点的灰度,整数之间用空格分隔。输入样例:540102834859121410671153610输出样例:15141513712117106315981401295附加题:数码显示器时间限制:1秒空间限制:10000k题目描述:现在有一个数码显示器,可以按指定的大小s输出数字。下图分别给出了s=2时数字12345的输出结果和s=3时数字67890的输出结果。其中,横线的地方由若干’-’组成,竖线的地方由若干‘|’组成。输出数字的大小为2*s+3行和s+2列,见上图(数字1输出的竖线在右边)。输入格式说明:题目的输入有若干行,每一行代表一串待输出的数字。每行有两个整数s,n(0s=9,0=n=99999999),s代表数字的输出大小,n代表待输出的数字。样例中的n不会出现以0开始的情况(即不会出现0123这样的数字)。数据的输入以00结束(即s=0,n=0),注意,程序不要处理此行数据。输出格式说明:每组输出结果各自在一个2*s+3行中输出,数字相邻的位间要有一个由空格组成的列,详见上图。每输出一串数字要输出一个空行。输入样例:21234536789000输出样例见上图