有以下程序段:    int  n,t=1,S=0;    scanf("%d",&n);    do{s=s+t;t=t-2;}while(t!=n);    为使此程序段不陷入死循环,从键盘输入的数据应该是 ______。

admin2009-02-15  51

问题 有以下程序段:    int  n,t=1,S=0;    scanf("%d",&n);    do{s=s+t;t=t-2;}while(t!=n);    为使此程序段不陷入死循环,从键盘输入的数据应该是 ______。

选项 A、任意正奇数
B、任意负偶数
C、任意正偶数
D、任意负奇数

答案D

解析 要使得程序段不陷入死循环,则必须存在终止循环的条件“t=n”,由于t的初始值为1,且每执行一次循环都会使得t的值减2,故执行本程序后t有可能的最大值为-1,然后,依次减2,所以键盘输入的n的值必须是t的值之一,即为任意负奇数。
转载请注明原文地址:https://kaotiyun.com/show/lqXp777K
0

最新回复(0)