更多"[说明] 本程序的功能是产生一个抽奖游戏中的随机数组合。抽奖的规则是"的相关试题:
[简答题]本题程序的功能是随机产生一个1~10的随机数,根据提示,用户可以猜这个随机数。例如程序随机产生的随机数是7,如果输入8,则提示“Try smaller…”并继续提示输入;如果输出6,则提示“Try bigger…”并继续提示输入;如果输入7,则会输出“Great!”并退出程序。请将下述程序补充完整(注意:不得改动程序的结构,不得增行或删行)。
import java.io.*;
public class basic
public static void main(String[] args)
InputStreamReader it;
Bur feredReader in;
Ir = new InputStreamReader(System.in)
In = new BufferedReader(ir);
int ranNum = ______;
int guessNum = -1;
String str;
while (______)
System.out.print ("Please Input:");
try
______;
guessNum = Integer.parseInt(str);
catch (Exception e)
if(guessNum > ranNum)
System.out.println("Try smaller...");
else
System.out.println("Try bigger...");
System.out.println ("Great ! ");
[简答题]本题程序的功能是随机产生50个0~100间的随机数,并计算70~80间随机数的个数(包括70,不包括80)。请将下述程序补充完整(注意:不得改动程序的结构,不得增行或删行)。
public class basic
public static void main(String[] args)
int result = 0;
int i = 0;
int randomNum;
while (i<50)
randomNum =______;
if(______)
result ++;
______;
System.out.println("result =" + result);
[填空题]【说明】
找一个最小的自然数,使它等于不同的两组三个自然数的三次幂之和,即找最小的x,使得:x=a*a*a+b*b*b+c*C*c+d*d*d+e*e*e+f*f*f,其中,a、b、c、d、e、f者是是自然数,a≤b≤C≤d≤e≤f; [a,b,c]!=[d,e,f)
【C++程序】
#include<stdio.h>
#define N 100
void main ( )
int i,j,il,ih,i0,j0,k0,il,j 1,k1;
int j1[N],jh[N];/*第i层平面的行的变化范围,自jl[i]至jh[i]*/
int k[N][N];/*第i层平面中,对应行j,当前的列号值为k[i][j]*/
int p[N], min;/*p[i]=i*i*i*/
i1=1;j1=1;k1=1;/*首先只局限下三角棱体的顶点*/
i1=1;ih=1;/*预置i的变化范围初值i1<=i<=ih*/
j1[1]=1;jh[1]=1;/*对应i层平面的行的变化范围*/
k[i1][j1[i1>=1;/*第i层平面中,对应行的列的初值*/
p[1]=1;
do
min=p[i1]+p[j1]+p[k1];
i0=i1;j0=j1;k0=k1;
if ( i1==ih ) /*当前候选者在ih平面, 则ih增1*/
ih++;
(1) ;
/*为ih平面设定j的变化范围和对应k值*/
j1[ih]=1;jh[ih]=1;k[ih][1]=1;
if ( i1==i1&&j 1==i1&&k1==i1 )
i1++;/*在i1平面最下角点找到候选者,i1增1*/
else
if ( k1==1&&jh[i1]<i1 )
/*在第一列找到候选者, i1平面的行的上界增1*/
(2) ;
[填空题]阅读以下说明和C程序,填充程序中的空缺。
[说明]
埃拉托斯特尼筛法求不超过自然数N的所有素数的做法是:先把N个自然数按次序排列起来,1不是素数,也不是合数,要划去;2是素数,取出2(输出),然后将2的倍数都划去;剩下的数中最小者为3,3是素数,取出3(输出),再把3的倍数都划去;剩下的数中最小者为5,5是素数(输出),再把5的倍数都划去。这样一直做下去,就会把不超过N的全部合数都筛掉,每次从序列中取出的最小数构成的序列就是不超过N的全部质数。
下面的程序实现埃拉托斯特尼筛法求素数,其中,数组元素sieve[i](u>0)的下标i对应自然数i,sieve[i]的值为1/0分别表示i在/不在序列中,也就是将i划去(去掉)时,就将sieve[i]设置为0。
[C程序]
#include <stdio.h>
#define N 10000
int main( )
char sieve[N+1]=(0);
int i=0,k;
/*初始时2~N都放入sieve数组*/
for(i=2;______;i++)
sieve[i]=1;
for(k=2;;)
/*找出剩下的数中最小者并用K表示*/
for(;k<N+1&&sieve[k]==0;______);
if(______)break;
print("%d/t",k); /*输出素数*/
/*从Sieve中去掉k及其倍数*/
for(i=k;i<N+1;i=______)
______;
return 0;
/*end of main*/
[单项选择]一个自然数,它既可以表示为9个连续自然数之和,又可以表示为10个连续自然数之和,还可以表示为11个连续自然数之和,则满足上述条件的最小自然数是( )。
A. 349
B. 356
C. 373
D. 495
[判断题]按随机取样的方法确定被检测的路基横断面时,不用随机数表中C列中的数。( )
[单项选择]设M、N都是自然数,记PM是自然数M的各位数字之和,PN是自然数N的各位数字之和。又记M*N是M除以N的余数。已知M+N=4084,那么(PM+PN)×9的值是多少
A. 7
B. 9
C. 0
D. 5
[单项选择]从2000到6000的自然数中,不含数字5的自然数有多少个:
A. 2188个
B. 2187个
C. 1814个
D. 1813个
[填空题]下列程序的功能是:单击窗体时将随机生成10个0~99之间的随机数,并赋值给数组A,然后利用选择法排序;并把排序后的结果输出。
Private Sub Form_Click( )
Dim A(9) As Integer,i As Integer
Dim j As Integer,k As Integer
Randomize
For i=0 To 9
A(i)=Int(100*Rnd)
Next i
For i=0 To 8
k= 【9】
For j=i To 9
If(A(k)>A(j))Then
【10】
End If
Next j
If k<>i Then
t=A(k):A(k)=A(i):A(i)=t
End If
Next i
For i=0 To 9
Print A(i),
Next i
Print
End Sub
[简答题][说明]
以下C语言程序实现了生成从里到外是连续的自然数排列的回旋矩阵,矩阵形式如下:
7 6 5 16
8 1 4 15
9 2 3 14
10 11 12 13
程序的变量说明如下:
x1:矩阵上边界;
x2:矩阵下边界;
y1:矩阵左边界;
y2:矩阵右边界;
s:数组元素升降标记,s等于1为升,s等于-1为降;
a[]:存放矩阵元素的数组。
仔细阅读C语言程序源码,将 (n) 处的语句补充完整。(注:每处仅一个语句)
[C程序]
#include<stdio.h>
void main ( )
{
const int N=20;
int i=0,j=0,a[N][N],n;
int m,x1,x2,y1,y2,s;
while (1)
{
Printf ("/ninput matrix row N( N>=2): ");
scanf ("%d",&n);
printf ("/n");
if (n>=2)
break;
}
m=n*n;
x1=0; y1=0; x2=n; y2=n;
if(n%2==0)
{j=n-1; y2=n-1; s=1;}
else
{i=n-1; y1=1; s=-1; }
while (1)
{
if (s==1)
{
for (i; i<x2; i++) a[i][j]=m--;
i--;
j--;
(1)
for (j;j>=y1;j--) a[i][j]=m--;
j++;
i--;
y1++;
(2)
}
else
{
for (i;i>=x1;i--)
a[i][j]=m--;
i++;
j++;
(3)
for (j;j<y2;j++)
(4)
(5)
i++;
[简答题][说明]
以下C语言程序实现了生成从里到外是连续的自然数排列的回旋矩阵,矩阵形式如下:
7 6 5 16
8 1 4 15
9 2 3 14
10 11 12 13
程序的变量说明如下:
x1:矩阵上边界;
x2:矩阵下边界;
y1:矩阵左边界;
y2:矩阵右边界;
s:数组元素升降标记,s等于1为升,s等于-1为降;
a[]:存放矩阵元素的数组。
仔细阅读C语言程序源码,将 (n) 处的语句补充完整。(注:每处仅一个语句)
[C程序]
#include<stdio.h>
void main ( )
const int N=20;
int i=0,j=0,a[N][N],n;
int m,x1,x2,y1,y2,s;
while (1)
Printf ("/ninput matrix row N( N>=2): ");
scanf ("%d",&n);
printf ("/n");
if (n>=2)
break;
m=n*n;
x1=0; y1=0; x2=n; y2=n;
if(n%2==0)
j=n-1; y2=n-1; s=1;
else
i=n-1; y1=1; s=-1;
while (1)
if (s==1)
for (i; i<x2; i++) a[i][j]=m--;
i--;
j--;
(1)
for (j;j>=y1;j--) a[i][j]=m--;
j++;
i--;
y1++;
(2)
else
for (i;i>=
[单项选择]5个连续自然数,每个数都是合数,这5个连续自然数的和最小是()。
A. 110
B. 130
C. 150
D. 170
E. 180
[单项选择]一个三位自然数正好等于它各数位上数字和的18倍,则这个三位自然数是( )
A. 999
B. 476
C. 387
D. 162
[填空题]以下Prime 过程,用于判断一个数是否为素数。素数是只能被1和数本身整除的自然数。一个自然数不是素数,就是合数。用被测试的数除以从2开始到该数本身的数,如果能除尽(余数为0),则为合数;如果都除不尽(余数均不为0),则为素数。请在划线处将下面过程补充完整:
Function Prime(inputvar As Integer)As Integer
For i=2 To inputvar-1
If inputvar Mod i= 【13】 Then
GoTo comfinish
End If
Next i
Prime=inputvar
Print"素数"
GoTo 【14】
comfinish:
Prime=inputvar
Print"合数"
finish:
End Function
[填空题]以下Prime过程,用于判断一个数是否为素数。素数是只能被1和数本身整除的自然数。一个自然数不是素数,就是合数。用被测试的数除以从2开始到该数本身的数,如果能除尽(余数为0),则为合数;如果都除不尽(余数均不为0),则为素数。请在划线处将下面过程补充完整:
Function Prime(inputvar As Integer)As Integer
For i=2 To inputvar-1
If inputvar Mod i= 【13】 Then
Go To comfinish
End If
Next i
Prime=inputvar
Print"素数"
Go To 【14】
comfinish:
Prime=inputvar
Print"合数"
finish:
End Function