计算机程序改错题,及答案
11 *程序名:TEST.prg *检索选修课程门数等于3门或3门以上,每门课程成绩大于或等于70分的每个学生的 *学号,姓名,性别,平均成绩,最低分和选课门数,并将结果存储到表NEW_TEST中. *以下程序有三处错误,请改正 OPEN DA TABASE SDB SELECT STUDENT.学号,姓名,性别,A VG(成绩) 平均成绩,MIN(成绩) 最低分,COUNT(*) 选课门数; FROM STUDENT,SC; WHere STUDENT.学号= SC.学号AND 成绩>= 70 ; &&**********Error********** GROUP BY STUDENT.学号HA VING count(课程号) >= 3; &&**********Error********** inTO table NEW_TEST &&**********Error********** CLOSE ALL 9 *程序名:dbtest3.prg *定义一个视图VS1, *检索选课门数是3门以上的每个学生的学号、姓名、平均成绩、最低分、选课门数和院系编号, *并按平均成绩降序排序. *以下程序有三处错误,请改正 SET TALK OFF SET SAFETY OFF open DATABASE SDB &&****Error***修改本行的语法错误,不许注释掉本行或删除本行 CREATE VIEW VS1 SELECT STUDENT2.学号, 姓名, A VG(成绩) 平均成绩, MIN(成绩) 最低分, COUNT(*) 选课门数, 院系编号; FROM STUDENT2, sc; &&*************Error************* WHERE STUDENT2.学号= SC.学号; GROUP BY SC.学号HA VING COUNT(课程号) > 3; ORDER BY 平均成绩desc &&*************Error************* CLOSE DATABASE RETURN i=2 create table four(结果I) do while i<=1000 if i%3=0 insert into four values(i) &&错误语句请修改 endif
VB程序设计例题-程序改错程序填空程序设计
'以下程序段用于输出杨辉三角:结果样式如图1 ' Private Sub Form_Click() Const n = 10 Dim arr(n, n) As Integer For I = 1 To n arr(I, I) = 1 '**********SPACE********** 【arr(I, 1) = 1】 Next I For I = 3 To n For j = 2 To I - 1 '**********SPACE********** arr(i, j) =arr(i-1,j-1)+arr(i-1,j) Next j Next I For I = 1 To n For j = 1 To I '**********SPACE********** 【print arr(I,j)】 Next j Print Next I End Sub Option Explicit '------------------------------------------------ '【程序改错】 '------------------------------------------------ '题目:用自定义函数的方法求sum(x),求当-1≤x≤1时,' sum(x)=x/2!+x^2/3!+x^3/4!+……+x^n/(n+1)!, ' 当x〉1或x〈-1时,函数值为0。当n〈=0时,输入数' 据错误。X、N都是由用户输入。 '------------------------------------------------ '注意:不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------ Private Sub Command1_Click() Dim s As Single Dim n As Integer, x As Single, k As Integer n = Val(InputBox("Please input a integer value:"))
程序改错
【程序改错】 1.下列给定程序中函数fun的功能是:删除s所指字符中所有的小写字母c 。 请改正程序中的错误,使它能得出正确的结果。 #include void fun( char *s ) { int I,j; for(i=j=0; s[i]!='\0'; i++) if(s[i]!='c') /***********FOUND***********/ s[j++]=s[i]; /***********FOUND***********/ s[j]='\0'; } main() { char s[80]; printf("Enter a string: "); gets(s); printf("The original string: "); puts(s); fun(s); printf("The string after deleted : "); puts(s);printf("\n\n"); } 2. 下列给定程序中,函数fun的功能是:根据整型参数m,计算如下公式的值。y=1/(100×100)+1/(200×200)+1/(300×300)+…+1/(m×m) 例如,若m=2000,则应输出0.000160。 请改正程序中的错误,使它能得出正确的结果。 #include #include #include /***********FOUND***********/ double fun (int m) { double y=0, d; int i; /***********FOUND***********/ for(i=100;i<=m;i+=100) {d=(double)i*(double)i; y+=1.0/d; } return(y); } void main() { int n=2000; system("CLS"); printf("\nThe result is %lf\n",fun(n)); } 3. 下列给定程序中函数fun的功能是:根据以下公式求π值,并作为函数值返回。
C语言程序改错题
第12次上机程序改错第1题 【程序改错】 -------------------------------------------------------- 功能:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积。 例如:输入圆的半径值:19.527 输出为:s = 598.950017。 ------------------------------------------------------*/ #include #include /**********FOUND**********/ double fun( r) double fun(double r) { double s; /**********FOUND**********/ s=1/2*3.14159* r * r; s=1.0/2*3.14159*r*r; /**********FOUND**********/ return r; return s; } main() { float x;
printf ( "Enter x: "); scanf ( "%f", &x ); printf (" s = %f\n ", fun ( x ) ); } 第2题【程序改错】 功能:先将在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序连接到t串的后面。 例如:当s中的字符串为:“ABCDE”时,则t中的字符串应为:“EDCBAABCDE”。 ------------------------------------------------------*/ #include #include #include void fun (char *s, char *t) { /**********FOUND**********/ int i; int sl,i; sl = strlen(s); for (i=0; i程序改错
1 已知C的公式表示如下: ' n! ' C=------------------ ' (n-m)!*m! 1). x=1 2). x=x*j 3). C = fac(n) / ( fac(n - m) * fac(m) ) 2题目:从计算机输入三个数, 找出中间数 1). If x < y Then 2). If y >= z Then 3). ElseIf x >= z Then 3'题目:求s=2!+4!+6!+8!,阶乘的计算用Function过程 ' fact实现 1). For i = 2 To 8 Step 2 2). Public Function fact(ByVal n As Integer) 3). fact = t 4 题目:编程求一个十进制整数n的各位数字之和,设n为小于或等于5位的数。 1). S1 = Trim(S1) 2). Ch = Mid(S1, i, 1) 3). Sum = Sum + Val(Ch) 5已知自然对数的底数e的级数表示如下: 1). x = x * i 2). n = 0 3). Loop While item >= 0.00000001 6下面的程序段用于实现以下功能:建立一顺序文件,存放10名同学的学号和三门功课成绩,显示 1). Open "c:\2.txt" For Output As #1 2). Open "c:\2.txt" For Input As #1 3). Input #1, n0, c1, c2, c3 7给定年号与月份,判断该年是否闰年,并根据给出的月份来判断是什么季节和该月有多少天? 1). If Year Mod 4 = 0 And Year Mod 100 <> 0 Or Year Mod 400 = 0 Then 2). Flag = 1 3). Select Case Month 8:一个两位的正整数,如果将它的个位数与十位数对调,则产生另一个正整数,我们把后者叫做前者的对调数,现给定一个两位的正数 1). h = k - g * 10 : m = h * 10 + g 2). For n = 11 To 99 3). End If 9程序功能为求解一元二次方程的实根,请修正程序中错误 1). work = b ^ 2 - 4 * a * c 2). root1 = (-b + Sqr(work)) / (2 * a) 3). root2 = (-b - Sqr(work)) / (2 * a) 10随机产生n个两位正整数(n由输入对话框输入,且n>0), ' 求出其中的偶数之和,并在标签框Label1上显示。 1). sum=0 2). rnddat = (10 + Int(90 * Rnd)) 3). If rnddat Mod 2 = 0 Then 11由输入对话框输入n(设n为大于零且小于30的自然数) 1). Do While n <= 0 Or n >= 30 2). k = k + 1 3). Loop Until k >= n 12判断给定的年月日是该年中的第几天。 1). Dim a(1 To 12) As Integer 2). days = days + a(i - 1) 3). days = days + day 13设窗体中有图片框Pic1,现要求在其中绘制10个同心圆, ' 然后将此图以Test.BMP作文件名存入磁盘。 1). for i=0 to 9 2). Do Until I < 0 3). I = I - 1 14给定三角形的三条边,计算三角形的面积。要求 ' 程序首先判断给定的三条边能否构成三角形。 1). If a + b < c Or b + c < a Or a + c < b Then 2). t = (a + b + c) / 2 3). s = Sqr(t * (t - a) * (t - b) * (t - c)) 15以下程序段用于计算5的N次方。 1). k=1 2). s=1 3). Loop 16随机产生n个两位正整数(n由输入对话框输入,且n>0), ' 求出其中的偶数之和,并在标签框Label1上显示。
程序改错1
第1题(10.0分)题号:421 /*-------------------------------- 【程序改错】 -------------------------------- 功能:给一个不多于5位的正整数,要求: 一、求它是几位数, 二、逆序打印出各位数字。 --------------------------------*/ #include"stdio.h" main( ) { /**********FOUND**********/ long a,b,c,d,e,x, scanf("%ld",&x); a=x/10000; /**********FOUND**********/ b=x/10000/1000; c=x%1000/100; d=x%100/10; e=x%10; /**********FOUND**********/ if (a==0) printf("there are 5, %ld %ld %ld %ld %ld\n",e,d,c,b,a); else if (b!=0) printf("there are 4, %ld %ld %ld %ld\n",e,d,c,b); else if (c!=0) printf(" there are 3,%ld %ld %ld\n",e,d,c); else if (d!=0) printf("there are 2, %ld %ld\n",e,d); else if (e!=0) printf(" there are 1,%ld\n",e); getch(); } 答案: 1). long a,b,c,d,e,x; 2). b=x%10000/1000; 3). if (a!=0) 或 if (!a) 第2题(10.0分)题号:417 /*-------------------------------- 【程序改错】 -------------------------------- 功能:下题是一段有关结构体变量传递的程序. --------------------------------*/ #include "stdio.h" struct student { int x; char c; } a; main() { a.x=3; /**********FOUND**********/ a.c='a' f(a); /**********FOUND**********/ printf("%d,%c",a.x,b.c); getch(); } f(struct student b) { b.x=20; /**********FOUND**********/ b.c=y; } 答案: 1). a.c='a'; 2). printf("%d,%c",a.x,a.c); 3). b.c='y'; 第1题(10.0分)题号:440 /*-------------------------------- 【程序改错】 --------------------------------