• 2022-06-03
    关于最大子数组和问题,对于子数字X[1..n],D[i]表示以X[i]结尾的最大的子数组和,则D[i,j]的递推式,下述正确的是( )。[/i][/i]
    A: D[i]=D[i−1]+X[i],当D[i−1]>0 D[i]=X[i],当当D[i−1]≤0
    B: D[i]=D[i]+X[i],当D[i−1]>0 D[i]=X[i],当当D[i−1]≤0
    C: D[i]=D[i+1]+X[i],当D[i−1]>0 D[i]=X[i],当当D[i−1]≤0
    D: D[i]=D[i-1]+X[i],当D[i−1]>0 D[i]=D[i-1]+X[i],当当D[i−1]≤0
  • A

    内容

    • 0

      有以下程序 ,其输出结果是 main() { int x,i; for(i=1;i < =50;i++) { x=i; if(x%2==0) if(x%3==0) if(x%7==0) printf("%d",i); } }

    • 1

      下列程序段可以正确运行的有: A: int i,s,x;s=0;i=0;while(1){ scanf("%d",&amp;x); if(x!=-1) { s=s+x; i++; } else break;}printf("ave=%d\n",s/i); B: int i,s,x;s=0;i=0;scanf("%d",&amp;x);while(x!=-1){ s=s+x; i++; scanf("%d",&amp;x);}printf("ave=%d\n",s/i); C: int i,s,x;s=0;i=0;while(1){ scanf("%d",&amp;x); if(x==-1) break; s=s+x; i++; }printf("ave=%d\n",s/i);

    • 2

      使用数组x输出10个1-100之间的随机整数(包括1和100),下列命令中正确的是:( ) A: Dim x(9) As Integer For i = 1 To UBound(x) x(i) = Int(Rnd() * 100 + 1) Print x(i); Next B: Dim x(9) As Integer For i = 0 To UBound(x) x(i) = Rnd(10) Print x(i); Next C: Dim x(9) As Integer For i = 0 To UBound(x) x(i) = Int(Rnd() * 100 ) Print x(i); Next D: Dim x(9) As Integer For i = 0 To UBound(x) x(i) = Int(Rnd() * 100 + 1) Print x(i); Next

    • 3

      声明一个变量为局部变量应该用( )。 A: Private Sub Command1 Click() n=5:x=1 Do X=X * I I=I + 1 Loop While I < n Print x End Sub B: Private Sub Command1_Click() n=5:X=1:I=1 Do X=X*I I=I + 1 Loop While I <n Print x End Sub C: Private Sub Command1_Click() n=5:X=1:I=1 Do X=X * I I=I + 1 Loop While I<=n Print X End Sub D: Private Sub Command1_Click() n=5:X=1:I=1 Do X=X * I I=I + 1 Loop While I>n Print X End Sub

    • 4

      以下程序若运行时输入:246 ,结果是。 main() {int x[3][2]={0},i; for(i=0;i<3;i++) scanf("%d",&x[i]); printf("%3d%3d%3d ",x[0][0],x[0][1],x[1][0]); }