网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
阅读以下说明和流程图,回答问题。
[说明]
从键盘输入一个高精度正整数n,去掉其中s个数字后按原左右次序再组成一个新的正整数。对给定的n,要寻找一种方案,使得余下的数字组成的新数最小。
算法分析:
每次删除一个数字,选择一个使余下的数最小的数字作为删除对象。当s=1时,在n中删除哪一个数字能达到最小的目的?从左到右每相邻的两个数字比较:若出现减,郎左边大于右边,则删除左边的大数字;若不出现减,即所有数字全部升序,则删除最右边的大数字。当s>l(当然小于n的位数),按上述操作一个一个删除,删除一个达到最小后,再从头即从串首开始,删除第2个,依此分解为s次完成。若删除不到s个后已无左边大于右边的减序,则停止删除操作,打印余下串的左边L-s个数字即可。(x为统计删除数字的个数,m=1表示脱离循环,L为n的长度)。
[流程图]
[问题]
将流程图中的(1)~(5)处补充完整。
参考答案
更多 “ 阅读以下说明和流程图,回答问题。[说明]从键盘输入一个高精度正整数n,去掉其中s个数字后按原左右次序再组成一个新的正整数。对给定的n,要寻找一种方案,使得余下的数字组成的新数最小。算法分析:每次删除一个数字,选择一个使余下的数最小的数字作为删除对象。当s=1时,在n中删除哪一个数字能达到最小的目的?从左到右每相邻的两个数字比较:若出现减,郎左边大于右边,则删除左边的大数字;若不出现减,即所有数字全部升序,则删除最右边的大数字。当s>l(当然小于n的位数),按上述操作一个一个删除,删除一个达到最小后,再从头即从串首开始,删除第2个,依此分解为s次完成。若删除不到s个后已无左边大于右边的减序,则停止删除操作,打印余下串的左边L-s个数字即可。(x为统计删除数字的个数,m=1表示脱离循环,L为n的长度)。[流程图][问题]将流程图中的(1)~(5)处补充完整。 ” 相关考题
考题
以下函数的功能是删除字符串s中的所有数字字符,请填空。void dele(char *s){ int n=0,i; for(i=0;s[i];i++) if() s[n++]=s[i]; s[n]=;}
考题
一个数的误差的绝对值不大于以该数的未位为单位的二分之一,则从该数()到未位数字的全部数字,称为该数的有效数字。
A.左边的第一个数字B.左边的第一个非零数字C.小数点右边的第一个非零数字D.小数点左边的第一个非零数字
考题
有效数字是指()。
A.一个数列从右边第一个不是零的数字算起,直到最末一位数字为止的所有数字B.一个数列从左边第一个不是零的数字算起,直到最末一位数字为止的所有数字C.一个数列从左边第一个不是零的数字算起,直到最末一位不为零的数字为止的所有数D.一个数列从右边第一个不是零的数字算起,直到最末一位不为零的数字为止的所有数字
考题
阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
[说明]
下面的代码运行时,从键盘输入一个四位数(各位数字互不相同,可以有0),取出组成该四位数的每一位数,重组成由这四个数字构成的最大四位数max4和最小四位数min4(有0时为三位数),计算max4与min4的差值,得到一个新的四位数。若该数不等于6174,则重复以上过程,直到得到6174为止。
例如,输入1234,则首先由4321-1234,得到3087;然后由8730-378,得到8352;最后由8532-2358,得到6174。
[C代码] #include<stdio.h> int difference(inta[]) ( intt,i,j,max4,min4; for(i=0; i<3; i++){/*用简单选择排序法将a[0]~a[3]按照从大到小的顺序排列*/ t=i; for(j=i+1; ______;j++) if(a[j]>a[t]) ______; if(t!=i){ int temp=a[t]; a[t]=a[i]; a[i]=temp; } } max4=______; min4=______; return max4-min4; } int main() { intn,a[4]; printf("inputa positive four-digit number:"); scanf("%d", while(n!=6174){ a[0]= ______; /*取n的千位数字*/ a[1]=n/100%10; /*取n的百位数字*/ a[2]=n/10%10; /*取n的十位数字*/ a[3]= ______; //取n的个位数字*/ n=difference(a); } return 0; }
考题
阅读以下说明和流程图,填写流程图中的空缺,将解答填入答题纸的对应栏内。 【说明】如果n位数(n≧2)是回文数(从左到右读与从右到左读所得结果一致),且前半部分的数字递增(非减)、后半部分的数字将递减(非增),则称该数为拱形回文数。例如,12235753221 就是一个拱形回文数。显然,拱形回文数中不含数字0。下面的流程图用于判断给定的n位数(各位数字依次存放在数组的各个元素A[ i ]中,i =1,2,…,n)是不是拱形回文数。流程图中,变量T 动态地存放当前位之前一位的数字。当n 是奇数时,还需要特别注意中间一位数字的处理。【流程图】
注1:“循环开始”框内给出的循环控制变量的初值、终值和增值(默认为1),格式为:循环款控制变量=初值,终值[ , 增值 ]注2:函数int(x)为取x的整数部分,即不超过x 的最大整数。
考题
用0,1,2,…,9这10个数字组成一个四位数,一个三位数,一个两位数与一个一位数,每 个数字只许用一次,使这四个数的和等于2007,则其中三位数的最小值为( )。
A. 386
B. 260
C. 230
D. 204
考题
一个数的误差的绝对值不大于以该数的未位为单位的二分之一,则从该数()到未位数字的全部数字,称为该数的有效数字。A、左边的第一个数字B、左边的第一个非零数字C、小数点左边的第一个非零数字
考题
通过键盘输入一个高精度的正整数n(n的有效位数≤240),去掉其中任意s个数字后,剩下的数字按原左右次序将组成一个新的正整数。编程对给定的n和s,寻找一种方案,使得剩下的数字组成的新数最小。 【样例输入】 178543 S=4 【样例输出】 13
考题
SET TALK OFF CLEAR C=""零壹贰叁肆伍陆柒捌玖"" INPUT ""N="" TO N ? N,""--""+ SUBSTR(C,2*N+1,2) SET TALK ON 程序的功能是()A、从键盘输入一个数值(0~9),输出其对应的数字B、从键盘输入一个数值(0~9),输出其对应的中文大写数字(零~玖)C、从键盘输入一个中文大写数字(零~玖),输出其对应的数字(0~9)D、从键盘输入一个中文大写数字(零~玖),输出其对应的中文大写数字(零~玖)
考题
单选题SET TALK OFF CLEAR C=""零壹贰叁肆伍陆柒捌玖"" INPUT ""N="" TO N ? N,""--""+ SUBSTR(C,2*N+1,2) SET TALK ON 程序的功能是()A
从键盘输入一个数值(0~9),输出其对应的数字B
从键盘输入一个数值(0~9),输出其对应的中文大写数字(零~玖)C
从键盘输入一个中文大写数字(零~玖),输出其对应的数字(0~9)D
从键盘输入一个中文大写数字(零~玖),输出其对应的中文大写数字(零~玖)
考题
单选题一个数的误差的绝对值不大于以该数的未位为单位的二分之一,则从该数()到未位数字的全部数字,称为该数的有效数字。A
左边的第一个数字B
左边的第一个非零数字C
小数点左边的第一个非零数字
考题
问答题通过键盘输入一个高精度的正整数n(n的有效位数≤240),去掉其中任意s个数字后,剩下的数字按原左右次序将组成一个新的正整数。编程对给定的n和s,寻找一种方案,使得剩下的数字组成的新数最小。 【样例输入】 178543 S=4 【样例输出】 13
考题
单选题从十位数7677782980中划去5个数字,使剩下的5个数字(先后顺序不改变)组成的5位数最小,则划去的5个数字为()A
76777B
77778C
76779D
67778
热门标签
最新试卷