【4.92】将一个数的数码倒过来所得到的新数,叫作原数的反序数,如果一个数等于它的反序数,则称它为对称数。编写程序,采用递归算法求不超过1993的最大的二进制的对称数。
【4.93】从1到n(n<1000)个自然数中选出r个数进行组合,并按指定的格式输出组合的结果。例如:n=5,r=3时,共有10种组合,运行程序,要按下面的格式输出:
123
4
5
34
5
45
234
5
45
345
请用递归算法实现。
【4.94】从键盘输入十个整数,用合并排序法对输入的数据按照从小到大的顺序进行排序,将排序后的结果输出。
【4.95】编写程序,读入一个以符号"."结束的长度小于20字节的英文句子,检查其是否为回文(即正读和反读都是一样的,不考虑空格和标点符号)。例如:
读入句子:MADAM I'M ADAM. 它是回文,所以输出:YES
读入句子:ABCDBA). 它不是回文,所以输出:NO
【4.96】编写程序,其中包括一个函数,此函数的功能是:对一个长度为N 的字符串从其第K个字符起,删去M个字符,组成长度为N-M的新字符串(其中N、M<=80,K<=N)。例如输入字符串"We are poor students.",利用此函数进行删除"poor"的处理,输出处理后的字符串是"We are students."。
【4.97】编写函数,通过指针将一个字符串反向。
【4.98】编写一个函数insert(s1,s2,ch),实现在字符串s1中的指定字符ch位置处插入字符串s2。
【4.99】编写程序将输入的两行字符串连接后,将串中全部空格移到串首后输出。
【4.100】编写程序,输入字符串,分别统计字符串中所包含的各个不同的字符及其各自字符的数量。如:输入字符串: abcedabcdcd
则输出:a=2 b=2 c=3 d=3 e=1。
【4.101】利用结构:struct complx
{ int real;
int im;
};
编写求两个复数之积的函数cmult,并利用该函数求下列复数之积:
⑴ (3+4i)×(5+6i) ⑵ (10+20i)×(30+40i
【4.102】编写成绩排序程序。按学生的序号输入学生的成绩,按照分数由高到低的顺序输出学生的名次、该名次的分数、相同名次的人数和学号;同名次的学号输出在同一行中,一行最多输出10个学号。
【4.103】编写程序,实现输入的时间屏幕显示一秒后的时间。显示格式为HH:MM:SS。程序需要处理以下三种特殊情况:
⑴ 若秒数加1后为60,则秒数恢复到0,分钟数增加1;
⑵ 若分钟数加1后为60,则分钟数恢复到0,小时数增加1;
⑶ 若小时数加1后为24,则小时数恢复到0。
【4.104】编写程序,从键盘输入3个学生的数据,将它们存入文件student;然后再从文件中读出数据,显示在屏幕上。
【4.105】编写程序,从键盘输入一行字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件"test"中保存。
【4.106】编写程序,读入磁盘上C语言源程序文件"test8.c",删去程序中的注释后显示。