第1题
[说明]
从键盘输入一个高精度正整数n,去掉其中s个数字后按原左右次序再组成一个新的正整数。对给定的n,要寻找一种方案,使得余下的数字组成的新数最小。
算法分析:
每次删除一个数字,选择一个使余下的数最小的数字作为删除对象。当s=1时,在n中删除哪一个数字能达到最小的目的?从左到右每相邻的两个数字比较:若出现减,郎左边大于右边,则删除左边的大数字;若不出现减,即所有数字全部升序,则删除最右边的大数字。当s>l(当然小于n的位数),按上述操作一个一个删除,删除一个达到最小后,再从头即从串首开始,删除第2个,依此分解为s次完成。若删除不到s个后已无左边大于右边的减序,则停止删除操作,打印余下串的左边L-s个数字即可。(x为统计删除数字的个数,m=1表示脱离循环,L为n的长度)。
[流程图]
[问题]
将流程图中的(1)~(5)处补充完整。
第4题
要求从键盘上输入一个不多于5位数的正整数,依次输出每位数字(从低位到高位依次输出)。(每两个数字之间用英文逗号隔开)
如:输入: 3689
则应输出: 9,8,6,3
注:千万不要有任何多余的输入输出,包括/n之类的一定不要有。
如printf(" %d,%d" ,a,b);即可。
第6题
请编写Python程序完成以下要求: 提示用户从键盘上输入一个4位的正整数(假设个位不为0),在屏幕上输出该数的反序数。反序数即原数各位上的数字颠倒次序所形成的另一个整数。例如,1234的反序数是4321;2468的反序数是8642。 (得分点提示:程序的可读性、是否有注释、功能是否正确、输入输出是否有提示信息) 代码提示:反序数很简单,考虑用“商和余数”来解决这个问题 输入要求:以输入3579为例 输出要求:要求输出内容是“输入 3579 的反序数为 9753 。”,注意这里3579和9753前后都要求有2个空格,想想看使用占位符和对齐方式“<^>”如何实现呢?
第7题
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!