题目详情
当前位置:首页 > 计算机考试 > 初级程序员
题目详情:
发布时间:2023-10-13 13:03:01

[简答题][说明]
本程序的功能是产生一个抽奖游戏中的随机数组合。抽奖的规则是从自然数1至50中无重复抽取6个数。为了保证抽取的无重复性,将50个自然数放在数组source中。每抽取了一个数,就用数组的最后一个数来改写这个被抽中的数,并把数组的长度减1。为使输出更为清晰,把抽取出来的6个数放在数组target中,经过排序(Arrays类中的sou方法实现排序)然后输出。注:Math.random方法返回一个在0(包含)到1(不包含)之间的随机浮点数。
[Java代码]
import java. util. *;
public class DrawOut
public static void main (String[ ] args)
int n =50;
int k =6;
int[ ] source = new int[n];
for(int i=0; i < (1) ;i++)
source[i] = i + 1;
int[ ] target = new int[k];
//将抽中的数字从source数组中取出,放入到target数组
for (int i = 0; i < (2) ; i+ +)
int r = (int) (Math. random( ) * (3) );
target[i] = source[r];
.... [r] = (4) ;
(5) ;

Arrays. sort(target);
for (int i = 0; i < target, length; i + + )
System. out. prinfln ( target [i] );


更多"[说明] 本程序的功能是产生一个抽奖游戏中的随机数组合。抽奖的规则是"的相关试题:

[简答题]本题程序的功能是随机产生一个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

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码