更多"程序改错(5分) 下列程序的功能是利用随机函数RAND( )随机产生1"的相关试题:
[简答题]
程序改错
下列程序中PrintPrime过程的功能是查找所有小于自然数nMax的素数,并按每行nCol个素数显示在主窗口中。素数是大于1且只能被1和自身整除的整数,如2、3、5、7等。判断一个自然数N是否是素数的方法是:用N除以从2到大于N的最小整数之间的每一个整数j,若所有的j都不能整除N,则N为素数。要求:
1.项目中有一个程序文件Pcode,将T盘中VFP01.TXT中的程序代码复制到其中并进行修改。
2.在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
1 CLEAR
2 DO PrintPrime(400,5)
3 PROCEDURE PrintPrime
4 PARA nMax,nCol
5 i=0 &&记录素数个数
6 FOR n=2 TO nMax
7 Flag=.T.
8 FOR j=2 TO INT(SQRT(n))
9 IF n%j=0
10 Flag=.F.
11 RETURN
12 ENDIF
13 ENDFOR
14 IF FLag
15 n
16 i=i+1
17 IF MOD(i,nCol)=0
18
19 ENDIF
20 ENDIF
21 ENDFOR
22 ENDPROC
[简答题]
程序改错
下列程序的功能是:输入一个由ASCII码字符和GB2312字符集中汉字字符组成的字符串后,统计并显示出现次数最多的10个字符及其出现次数。要求:
1.将下列程序输入到项目中的程序文件PCODE中,并对其中的2条错误语句进行修改;
2.在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
CLEAR
ACCEPT ’请输入:’ TO cccc &&该语句功能是交互式地输入数据(字符串)
n=LEN(cccc)
IF n=0
RETURN
ENDIF
CREATE CURSOR TEMP (cc c(2),nn i) &&创建临时表存储字符及出现的次数
FOR i=1 TO n
c=SUBS(CCCC,i,1)
IF ASC(c)>127 &&汉字字符
c=SUBS(cccc,i,2)
i=2
ENDIF
LOCATE FOR cc=c
IF EOF( )
INSERT INTO TEMP(cc,nn) VALUE(c,1)
Other
REPLACE nn WITH nn+1
ENDIF
ENDFOR
SELECT TOP 10 cc,nn FROM temp ORDER BY 2 DESC
[简答题]
程序改错
下列程序的功能是找出100~999以内同时满足以下条件的数:个位数字与十位数字之和与10的模等于百位数;该数是素数(仅能被1和本身整除的数称为"素数’’)。例如,101、21l、239等。要求:
(1)将下列程序输入到项目中的程序文件PCODE中,并对其中的2条错误语句进行修改;
(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
CLEAR
FOR i=1 To 999
yn=.T.
FOR j=3 TO i-1
IF MOD(j,i)=0
yn=.F.
EXIT
ENDIF
ENDFOR
IF yn
s=STR(i,3)
s1=SUBS(s,3,1)
s2=SUBS(s,2,1)
s3=SUBS(s,1,1)
IF MOD(VAL(s1)+VAL(s2))=VAL(s3)
i
ENDIF
ENDIF
ENDFOR
[简答题]改错题【程序功能】 函数fun的功能是将str所指向的一行包含若干单词的文本(单词之间用空格隔开)依次拆分成长度不超过20个字符的若干文本行,单词不跨行,且使拆分出的行数最少,再将拆分出的每行字符以字符串的形式存储到page指向的二维数组的一行中,函数返回拆分出的行数 【测试数据与运行结果】 测试数据:A great discovery solves a greate problem. 屏幕输出: A great disconvery solves a great problem【含有错误的源程序】以下源程序已保存在T盘myf1.c文件内,考生可直接打开该文件调试程序#include #include #include int fun(char str[],char pag[][]){int i,k=0,j,flag=1; while(*str && flag) {if(strlen(str)<20) {pag[k]=str; flag=0; } else {i=20; while(str[i]!=’ ’) i--; for(j=0;j
[简答题]改错题
【题目】
本程序的功能是找出给定范围内因子个数最多的整数.程序界面参加下图
(本程序界面由1个ListBox、1个Label、1个TextBox和1个CommandButton组成,所有对象均采用缺省名)
Option Explicit
Option Base 1
Private Sub Command1_Click( )
Dim i As integer,j as integer,m as integer,n as integer
Dim s As String, mx as integer
Dim yz( ) as integer,c( ) as integer
m=15: n=35
Redim c(m:n)
For i=m to n
s=i & ":"
Call qyz(i,yz)
c(i)=Ubound(yz)
For j=1 to Ubound(yz)
s=s & yz(j) &","
next j
s=Left(s,len(s)-1)
List1.Additem s
Next i
mx=c(1)
For i=m to n
if c(i)>mx then mx=c(i)
Next i
For i=m to n
if c(i)=mx then Text1.text=text1.text & i & ","
Next i
Text1.Text=Left(Text1.text,Len(text1.text)-1)
End Sub
Private Sub qyz(Byval n as integer,yz( ) as integer)
Dim i as integer,p as integer
For i=1 to n-1
if n mod i=0 then
p=p+1
Redim yz(p)
yz(p)=i
End if
[简答题]
程序改错
下列程序是计算100以内素数之和。所谓素数是指大于1且只能被1和自己整除的自然数。要求:
①项目中有一个程序文件PCODE,将T盘中VFP01.TXT中的程序代码复制到其中并进行修改;
②在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
1 SET TALK OFF
2 CLEAR
3 suml =0
4 FOR i=2 T0 100
5 prime=.T.
6 FOR j =2 TO i-l
7 IF MOD(i,j)<>0
8. Prime=.F.
9 EXIT
10 ENDIF
11 ENDFOR
12 IF prime
13 i
14 suml=suml +i
15 ENDIF
16 ENDFOR
17 "100以内素数之和为:"+ sum1
18 SET TALK ON
19 RETU
[简答题]
改错题:以下程序的功能是:把键盘输入的10个整数显示在屏幕上。
#include<stdio.h>
main( )
{ int a[10],i;
for(i=0;i<10;++i)
scanf("%d",a[i]);
for(i=0;i<10;++i)
printf("%d",a[i]);
}
[简答题]
改错题:以下程序的功能是:求30个学生某门课程的平均成绩。
#include<stdio.h>
main( )
{ int n=30,i=0,t;
float aver=0;
while(i<n)
{scanf("%d",&t); aver=aver+t;
}
aver=aver/n;
printf("平均成绩为:%5.1f/n",aver);
}
[简答题]改错题(20分) 【题目】 以下程序的功能是:根据字符串str中是否包含子串substr,决定如何将字符串str1插入到str的不同位置。插入方法是:如果str中包含子串substr,则将str1插入到str中首次出现的子串substr之后;否则,插入到str的尾部。 正确程序的输出如下: 原字符串:aabcd12345 子字符串:abcd 插入字符串:ABC 新字符串:aabcdABC12345 含有错误的源程序如下: #include #include char *find(char *str,char *substr) { unsigned lent=strlen(str); for(char *p1=str,*p2=substr;strlen(p1)>=len;p1++){ for(unsigned i=0;ilen) return p1+len; } return 0; } char *insert(char *str,char *substr,char *str1) { char p=find(str,substr); if(p) strcat(str,str1); else{ char *tmp=new char[strlen(str)+strlen(str1)+1]; strcpy(tmp,str1) strcat(tmp,p); strcpy(p,tmp); delete []tmp; } return str; } void main( ) { char *str=new char[80],substr[]="abcd",str1[]="ABC"; strcpy(str,"aabcdl2345"); ’ cout<<"原字符串:"<<
[简答题]
改错题
【程序功能】
统计一组单词(本题中含2个单词)中的每个单词在一篇文章中各自出现的次数,单词中的字母字符区分大小写。
【测试数据与运行结果】
测试数据:
文章正文: The Olympic Games will be held just outside the capital and the whole area will be called ’Olympic City’.
被统计的一组单词:Olympic, will
屏幕输出:Olympic:2
wi11:2
【含有错误的源程序】
以下源程序已保存在T盘myf1.c文件内,考生可直接打开该文件调试程序。
1 #include< stdio.h>
2 #include< conio.h>
3 #include< string.h>
4 #include< ctype.h>
5 void count( char str[] ,char substr[][10] ,int ct[],int n)
6 {
7 int i,j,k =0,m =0;
8 char t[];
9 for(i=0;str[i];i++)
10 {
11 for(j=i;isalpha(str[j]);i++)
12 {
13 t[m]=str[j];
14 j++;m++;
15 }
16 t[m]=’/0’;
17 for(k=0;k)
18 if( t == substr[k])
19 ct[k]++;
20 m=0;
21 }
22 }
23 int main( )
24 {
25 char line[]="The Olympic Games will be held just outside the capital and the
[简答题]改错题
下列给定程序中,函数fun( )的功能是计算并输出high以内的素数之和。high由主函数传给fun( )函数。若high的值为100,则函数的值为1060。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include
#include
#include
int fun(int high)
{
int sum=0,n=0, j, yes;
while(high>=2)
{
yes = 1;
for(j=2; j<=high/2; j++)
/**********************found***********************/
ifhigh%j==0
{
yes=0;
break;
}
/**********************found***********************/
if(yes==0)
{
sum+=high;
n++;
}
high--;
}
return sum;
}
main( )
{
clrscr( );
printf("%d/n",fun(100));
}
[简答题]改错题(14分)
【题目】
本程序的功能是:找出100~999之间的十进制数为升序数,且其对应的八进制数也是升序数的整数。所谓升序数,是指该数的十位数字值大于个位数字值,百位数字值大于十位数字值。 Option Explicit
Private Sub CmdFind_Click( )
Dim n As Integer,s8 As String
For n=100 To 999
s8=d2Q(n)
If sx(n) And sx(Val(s8)) Then
List1.AddItem n & "D==>" & s8 & "Q"
End If
Next n
End Sub
Private Function d2Q(n As Integer) As String
Dim p As Integer
Do
p=n Mod 8
d2Q=d2Q & CStr(P)
n=n/8
Loop Until n=0
End Function
Private Function sx(ByVal n As Integer)As Boolean
Dim num( ) As Integer,k As Integer,t As Integer
Dim i As Integer
t=Len(CStr(n))
ReDim num(t)
For k=1 To t
num(k)=Val(Mid(CStr(n),k,1))
next k
For i=1 To UBound(num)-1
If num(i)>=num(i+1) Then Exit For
Next i
sx=True
End Function
【要求】
1.新建工程,输入上述代码,改正程序中的错误。
2.改错时,不得增加或删除语句,但可适当调整语句的位置。
3.将窗体文件和工程文件分别命名为F1和P1,并保存到T盘根目录下。
[简答题]请完成下列Java程序。程序的功能是利用迭代法求一个数的平方根(求平方根的迭代公式为: Xn+1=1/2(Xn+a/Xn))。
注意:请勿改动main( )主方法和其他已有的语句内容,仅在下划线处填入适当的语句。
源程序代码文件清单如下:
public class PingFangGen
public static void main(String args[ ])
System.out.println(Math.sqrt(2.0));
static double sqrt(______)
double x=1.0;
do
______;
while(Math.abs(x*x-a)/a>1e-6);
return x;
[简答题]改错题(20分) 【题目】 以下程序的功能是:判断一个已排序的整型数组中是否存在元素值与其下标值相等(下标从0开始)的元素。如果存在,则输出其中一个该类元素的值(可能存在多个满足条件的元素) 正确程序的输出如下: 第3个元素值与其下标值相等 含有错误的源程序如下: #include int index_search(int x[n],int n) { int first=0; int last=n-1; int middle,index; index=-1; while(first<=last){ middle=(first+last)/2; if(x[middle]=middle){ index=middle; break; } else if(x[middle]>middle) last=middle-1; else first=middle+1; } return index; } void main( ) { int a[]={-1,0,1,3,8}; int result=index_search(a,sizeof(a)); if(result==-1) cout<<"第"<
[填空题]下面的程序段是利用寄存器传送参数的子程序调用程序结构,其功能是计算DAT变量中N个字节数据的累加和,结果存放在RESULT内存单元中。在横线处填入适当的指令,使程序能完成预定的功能。
DAT DB 75,125,1,2,68,4
RESULT DW______
LEA BX,DAT
CALL SUBP
MOV RESULT,AX
SUBP: PUSH SI
XOR AX,AX
MOV SI,0
NEXT: ADD AL,[BX+SI]
ADC AH,1
INCSI
LOOP NEXT
POP SI
RET
[简答题]改错题
下列给定程序中,函数fun( )的功能是根据整型形参m,计算如下公式的值。
y=1-1/(2×2)+1/(3×3)-1/(4×4)+…+(-1)(m+1)/(m×m)
例如:m中的值为5,则应输出0.838611。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include
#include
double fun(int m)
{ double y=1.0;
/**********************found***********************/
int j=1;
int i;
for(i=2; i<=m; i++)
{
j=-1*j;
/**********************found***********************/
y+=1/(i * i);
}
return(y);
}
main( )
{
int n=5;
clrscr( );
printf("/nThe result is %lf/n" ,fun(n));
}