理解程序的功能,若输入126和2,则程序的运行结果是哪一个选项? def foo(num,base): if(num >= base): foo(num/base , base) print num%base, numA = input() numB = input() foo(numA,numB)
A.113
B.1 1 1 1 1 1 0
C.128
D.1 1 1 1 1 1 1
A.113
B.1 1 1 1 1 1 0
C.128
D.1 1 1 1 1 1 1
A、因为#define A B 相当于在编辑器中做字符串替换,所以Z 将被替换为 Y*X/2,而Y又会被替换为X+1,因此, Z被替换为X+1*X/2. 而X被替换为5, 所以a=Y=5+1. Z则=5+1*5/2=5+2=7; 故本题答案: 7 5
B、因为#define A B 相当于在编辑器中做字符串替换,所以X==5, 而Y==X+1==6, Z==Y*X/2==6*5/2=15. 故本题答案: 15 5
C、因为#define A B 相当于在编辑器中做字符串替换,所以X==5, 而Y==X+1==6, Z==Y*X/2==6*5/2=15. --a的值为6. 故本题答案: 15 6
D、以上都不对
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include <stdio. h>
define N 20
int fun(iht n, int *a)
/*************found*************/
{ int i, j, k, sum;
sum=0;
for(k=3, i=0;i<n; i++, k+=5)
{ sum=sum+ k;
/************found***************/
if (sum%4=2)
a [j++] =sum;
}
/*************found**************/
return j;
}
main ( )
{ int a[N],d, n, i;
printf("\nEnter n(4<=n<=50): ");
scanf("%d", &n);
d=fun(n, a);
printf("\n\n The result :\n ");
for(i=0;i<d; i++) printf("%6d ",a[i]);
printf("\n\n ");
}
A、d=14, p=-2, q=1
B、d=14, p=2, q= -1
C、d=14, p=1, q=-2
D、d=14, p=-1, q=2
A、>>> array = [1, 2, 3] >>> test(array) >>> [1, 2, 3]
B、>>> array = [1, 2, 3] >>> test(array) >>> [1, 2, 4]
C、>>> x = 3 >>> test(x) >>> 4
D、>>> x = 3 >>> test(x) >>> 3
A、location('Jiangsu', 'Nanjing')
B、location(province = 'Jiangsu', city = 'Nanjing')
C、location(city = 'Nanjing', province = 'Jiangsu')
D、location('Nanjing', 'Jiangsu')
A、定义函数时,需要确定函数名和参数个数。
B、默认Python解释器不会对参数类型做检查。
C、在函数体内部可以用return语句随时返回函数结果。
D、函数执行完毕也没有return语句时,Python解释器会报错。
A、None,0, [],{} 这些值在作为布尔表达式的时候,都会被解释器看作假False。
B、标准的布尔值为0(表示假)和1(表示真),实际上语句True==1的结果就是True。
C、对于不兼容类型的比较,例如整型和字符串,在Python 2中是可以执行的,当然这从数学含义上看是没有意义的,所以在Python 3中比较不兼容类型的对象已经不再可行。
D、is作为比较运算符,x is y其含义是比较x是否是y的子类。
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!