教师用 程序改错题6A

合集下载

程序改错题

程序改错题

注意:改错题目不要增、删或修改其他代码。

一定要在语句上面修改,否则电脑会识别不了,会没有分的,我这里只是便于大家观察修改之前的程序和修改之后的程序的区别。

请大家一定要在语句上面修改,其中红字部分就是要修改的部分。

第一题:简单应用:用户输入正整数,计算奇数,偶数,被3整除的数字:*******************found********************x,s1,s2,s3=0 ----→>>>>> store 0 to x,s1,s2,s3*******************found********************x=thisform.text1 ----→>>>>> x=thisform.text1.valuedo while x>0if int(x/2)=x/2s1=s1+1elses2=s2+1endif*******************found********************if div(x,3)=0 ----→>>>>> if mod(x,3)=0s3=s3+1endifx=x-1enddothisform.text2.value=s1thisform.text3.value=s2thisform.text4.value=s3thisform.text5.value=s1+s2+s3综合应用:thisform.list2.add(thisform.list1.value)改成thisform.list2.add item(thisform.list1.value)thisform.list2.delete(thisform.list2.listindex)改成thisform.list2.removeitem(thisform.list2.listindex)差的语句SELECT Student.姓名, Course.课程名称, Score.考试成绩;FROM student INNER JOIN score;INNER JOIN course ;ON Score.课程编号 = Course.课程编号 ;ON Student.学号 = Score.学号;----------------------------精品word文档值得下载值得拥有----------------------------------------------where &cn;ORDER BY Course.课程名称, Score.考试成绩 DESC;INTO TABLE zonghe第二题:&&根据"教师表"计算每个系的教师人数并将数据填入"学院表"CLOSE DATAUSE 学院表GO TOPDO .NOT. EOF() &&错误 ----→>>>>> DO while .NOT. EOF()xihao=系号SELECT COUNT(*) FROM 教师表 WHERE 教师表.系号=xihao INTO A &&错误----→>>>>> INTO array AREPLACE 教师人数 WITH A[1]NEXT &&错误 ----→>>>>>skipENDDO第三题:** 请改正以下语句代码中的错误,然后运行程序。

程序改错——精选推荐

程序改错——精选推荐

程序改错〖第1题〗『程序改错』(10分)题⽬:函数fun的功能是:求1到20的阶乘的和。

请改正程序中的错误,使它能得出正确的结果。

/*------------------------------------------------------*/注意:不可以增加或删除程序⾏,也不可以更改程序的结构。

/*------------------------------------------------------*/ fun(){ int n,j;double s=0.0,t=1.0;for(n=1;n<=20;n++){/**********FOUND**********/s=1;for(j=1;j<=n;j++)/**********FOUND**********/t=t*n;/**********FOUND**********/s+t=s;}/**********FOUND**********/printf("jiecheng=%d\n",s);}main(){ fun(); }答案:1). t=1; 或t=1.0;2). t=t*j; 或t*=j;3). s=s+t; 或s+=t;4). printf("jiecheng=%lf\n",s);或printf("jiecheng=%f\n",s);〖第2题〗『程序改错』(10分)题⽬:给定程序MODI1.C中函数fun 的功能是:⽤选择法对数组中的n个元素按从⼩到⼤的顺序进⾏排序。

#include#define N 20void fun(int a[], int n){ int i, j, t, p;for (j = 0 ;j < n-1 ;j++){/**********FOUND**********/p=jfor (i = j;i < n; i++)/**********FOUND**********/if(a[i] >a[p])/**********FOUND**********/p=j;t=a[p] ; a[p]=a[j] ; a[j]=t;}}void main(){ int a[N]={9,6,8,3,-1},i, m = 5;printf("排序前的数据:") ;for(i = 0;i < m;i++) printf("%d ",a[i]); printf("\n"); fun(a,m);printf("排序后的数据:") ;for(i = 0;i < m;i++) printf("%d ",a[i]); printf("\n"); }答案:1). p = j;2). if(a[i] < a[p]) 或if(a[p] > a[i])3). p = i;〖第3题〗『程序改错』(10分)题⽬:编写函数fun,求两个整数的最⼩公倍数,然后⽤主函数main()调⽤这个函数并输出结果,两个整数由键盘输⼊。

程序改错——精选推荐

程序改错——精选推荐

程序改错【程序改错】--------------------------------------------------------功能:在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列。

------------------------------------------------------*/#include <stdio.h>#define N 11main(){int i,number,a[N]={1,2,4,6,8,9,12,15,149,156};printf("please enter an integer to insert in the array:\n");/**********FOUND**********/scanf("%d",&number);printf("The original array:\n");for(i=0;i<N-1;i++)printf("%5d",a[i]);printf("\n");/**********FOUND**********/for(i=N-2;i>=0;i--)if(number<=a[i])/**********FOUND**********/a[i+1]=a[i];else{a[i+1]=number;/**********FOUND**********/break;}if(number<a[0]) a[0]=number;printf("The result array:\n");for(i=0;i<N;i++)printf("%5d",a[i]);printf("\n");}【程序改错】--------------------------------------------------------功能:判断m是否为素数,若是返回1,否则返回0。

程序改错——精选推荐

程序改错——精选推荐

【程序改错】1.下列给定程序中函数fun的功能是:删除s所指字符中所有的小写字母c 。

请改正程序中的错误,使它能得出正确的结果。

#include <stdio.h>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 <stdlib.h>#include <conio.h>#include <stdio.h>/***********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的功能是:根据以下公式求π值,并作为函数值返回。

程序改错题

程序改错题

程序改错题第一篇:程序改错题1、 Gaicuo1.cpp的功能是:1!+2!+3!+……+20!。

程序有两处错误,在****found****处附近有错,请改正程序中的错误,使它能得出正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include void main() {float s=0,t; int n,i; for(n=1;n<=20;n++) { for(i=1,t=1;i<=n;i++) t=t*i; /****found*****/ /****found****/}2、 gaicuo2.cpp的功能是:输入两个不等的整数分别给x和y,输出其中的大数。

程序有两处错误,在****found****处附近有错,请改正程序中的错误,使它能得出正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include void main( ) { int x,y; printf("Enter x & y:\n"); scanf("%d%d",&x,&y); /****found****/ if(x}3、gaicuo3.cpp的功能是交换两个数,若输入10和20,则输出20和10。

程序有两处错误,在****found****处附近有错,请改正程序中的错误,使它能得出正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include void main( ) { int x,y,t; printf("Enter x & y:\n"); /****found****/ scanf("%d%d",&x,&y); /****found****/ t=x; x=y;y=t; printf("x=%d y=%d",x,y) ; } 4. gaicuo4.cpp的功能是输入一个整数,判别它是否能被3整除,若能整除,打印YES;不能打印NO。

程序改错题

程序改错题

程序改错练习题/*---------------------------------------------------- 【程序改错】第1题------------------------------------------------------ 功能:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

----------------------------------------------------*/ #include <stdio.h>main(){char c;int letters=0,space=0,digit=0,others=0;printf("please input some characters\n");/**********FOUND**********/while((c=getchar())=='\n'){/**********FOUND**********/if(c>='a'&&c<='z'&&c>='A'&&c<='Z')letters++;/**********FOUND**********/else if(c=!' ')space++;else if(c>='0'&&c<='9')digit++;elseothers++;}printf("all in all:char=%d space=%d digit=%dothers=%d\n",letters,space,digit,others);}答案:=======(答案1)=======while((c=getchar())!='\n')=======(答案2)=======if( c>='a'&&c<='z' || c>='A'&&c<='Z' )=========或=========if( c<='z'&&c>='a' || c>='A'&&c<='Z' )=========或=========if( c <= 'z' && c >= 'a' || c >= 'A' && c<='Z' )=======(答案3)=======else if(c==' ')/*---------------------------------------------------- 【程序改错】第2题------------------------------------------------------ 功能:实现交换两个整数的值。

程序改错

程序改错
3). A = 1.0/(1+A);
【程序改错】
功能:求广义菲玻那契级数的第n项。广义菲玻那契级数的前n
项为: 1,1,1,3,5,9,17,31,……
项值通过函数值返回 main ( )函数。
例如:若 n = 15,则应输出:The value is: 2209。
答案:
1). for (k=4; k&lt;=n; k++)
【程序改错】
功能:统计出若干个学生的平均成绩,最低分以及得最低分的人数。
例如:输入10名学生的成绩分别为92,87,68,56,92,84,67,
75,92,66,则输出平均成绩为77.9,最低高分为56,得最
低分的人数为1人。
答案:
1). sum+=array[i]; 或 sum=sum+array [i];
3). aa[b+1]=t;
【程序
改错】
功能:读入一个整数k(2≤k≤10000),打印它的所有质因子(即
所有为素数的因子)。
例如:若输入整数:2310,则应输出:2、3、5、7、11。
3). hn=hn/2;
【程序改错】
功能:读取7个数(1-50)的整数值,每读取一个值,程序打印
出该值个数的*。
答案:
1). while(n&lt;=7) 或 while(n&lt;8)
2). while(a&lt;1||a&gt;50); 或 while(a&gt;50||a&lt;1);
2). if(i%m==0)
3). s*=i;
【程序改错】

程序改错题(17道)

程序改错题(17道)

程序改错(共17道题)1.求1~100之间数的和。

Private Sub Form_Click()Dim i As Integer, sum As Integersum = 1i = 1Do Until i >= 100sum = sum + ii = i + 1LoopPrint "1-100之间和:"; sumEnd Sub答案:sum=0Do Until i > 1002.求1~100之间数的和。

Private Sub Form_Click()Dim i As Integer, sum As Integersum = 1i = 1Do While i < 100sum = sum + ii = i + 1LoopPrint "1-100之间和:"; sum End Sub答案:sum=0Do While i <= 1003.求1~10之间数的和。

Private Sub Form_Click()Dim i As Integer, sum As Integer sum = 1i = 1Do Until i >= 10sum = sum + ii = i + 1LoopPrint "1-10之间和:"; sumEnd Sub答案:sum=0Do Until i > 104.求1~10之间数的和。

Private Sub Form_Click()Dim i As Integer, sum As Integersum = 1i = 1Do While i < 10sum = sum + ii = i + 1LoopPrint "1-10之间和:"; sumEnd Sub答案:sum=0Do While i <= 105.求4!(4!=1×2×3×4)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、在考生文件夹下的给定程序modi7.c中,函数fun的功能是:计算并输出k以内最大的10个能被13或17整除的自然数之和。

k的值由主函数传入,若k的值为500,则函数值为4622。

请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include <conio.h>#include <stdio.h>#include <stdlib.h>int fun(int k){int m=0,mc=0,j;while ((k>=2)&&(mc<10))/************found************/{ if ((k%13=0)||(k%17=0)){m=m+k;mc++;}k--;}return m;/************found************/_____main(){system("cls");printf("%d\n",fun(500));}{ if ((k%13 == 0)||(k%17 == 0)){ if (k%13 == 0||k%17 == 0){ if ((k%13) == 0||(k%17) == 0){ if (!(k%13)||!(k%17)){ if ((k%17 == 0)||(k%13 == 0)){ if (k%17 == 0||k%13 == 0){ if ((k%17) == 0||(k%13) == 0){ if (!(k%17)||!(k%13)){ if(!((k%13)&&(k%17)))}2、在考生文件夹下的给定程序modi13.c中,函数fun的功能是:根据整型形参m的值,计算如下公式的值。

1 1 1t=1- ── - ── - …… - ──2×2 3×3 m×m例如:若m中的值为:5,则应输出: 0.536389。

请改正程序中的错误,使它能得出正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include <conio.h>#include <stdio.h>#include <stdlib.h>double fun(int m){double y=1.0;int i;/************found************/for (i=2;i<m;i++)/************found************/y-=1/(i*i);return(y);}main(){int n=5;system("cls");printf("\nThe result is %lf\n",fun(n));}for(i=2;i<=m;i++)for(i=2;i<m+1;i++)for(i=2;i<(m+1);i++)for(i=2;i<1+m;i++)for(i=2;i<(1+m);i++)for(i=2;i<=m;++i)for(i=2;i<m+1;++i)for(i=2;i<(m+1);++i)for(i=2;i<1+m;++i)for(i=2;i<(1+m);++i) for(i=2;i<=m;i=i+1) for(i=2;i<m+1; i=i+1) for(i=2;i<(m+1); i=i+1) for(i=2;i<1+m; i=i+1)for(i=2;i<(1+m); i=i+1) for(i=2;i<=m;i+=1)for(i=2;i<m+1; i+=1) for(i=2;i<(m+1); i+=1) for(i=2;i<1+m; i+=1)for(i=2;i<(1+m); i+=1) for(i=2;i<=m;i=1+i)for(i=2;i<m+1; i=1+i) for(i=2;i<(m+1); i=1+i) for(i=2;i<1+m; i=1+i) for(i=2;i<(1+m); i=1+I)y-=1.0/(i*i);y=y-1.0/(i*i);y=-1.0/(i*i)+y;y-=1./(i*i);y=y-1./(i*i);y=-1./(i*i)+y;y-=(float)1/(i*i);y=y-(float)1/(i*i);y=-(float)1/(i*i)+y;y-=(double)1/(i*i);y=y-(double)1/(i*i);y=-(double)1/(i*i)+y;y-=1/(1.0*i*i);y=y-1/(1.0*i*i);y=-1/(1.0*i*i)+y;y-=1/((float)i*i);y=y-1/((float)i*i);y=-1/((float)i*i)+y;y-=1/((double)i*i);y=y-1/((double)i*i);y=-1/((double)i*i)+y;3、在考生文件夹下的给定程序modi57.c中,函数fun的功能是:将字符串tt中的小写字母改为对应的大写字母,其它字符不变。

例如,若输入"Ab,cD",则输出"AB,CD"。

请改正程序中的错误,使它能得出正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include <conio.h>#include <stdio.h>#include <string.h>#include <stdlib.h>char *fun(char tt[]){int i;for(i=0;tt[i];i++)/************found************/if(('a'<=tt[i])||(tt[i]<='z'))/************found************/tt[i]+=32;return(tt);}main(){int i;char tt[81];system("cls");printf("\nPlease enter a string:");gets(tt);printf("\nThe result string is:\n%s",fun(tt));}if(('a'<=tt[i])&&(tt[i]<='z'))if((tt[i]>='a')&&(tt[i]<='z'))if(('a'<=tt[i])&&('z'>=tt[i]))if((tt[i]>='a')&&('z'>=tt[i]))tt[i]-=32;tt[i]+='A'-'a';tt[i]-='a'-'A';tt[i]+=-'a'+'A';tt[i]=tt[i]-32;tt[i]=tt[i]+'A'-'a';tt[i]=tt[i]-'a'-'A';tt[i]=tt[i]-'a'+'A';4、在考生文件夹下的给定程序modi71.c中,fun函数的功能是:根据形参m,计算如下公式的值。

1 1 1 1t = 1 + ─ + ─ + ─ +……+ ─2 3 4 m例如,若输入5,则应输出2.283333。

请改正程序中的错误或在横线处填上适当的内容并把横线删除,使它能得出正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include <conio.h>#include <stdio.h>#include <stdlib.h>double fun(int m){double t=1.0;int i;for (i=2;i<=m;i++)/************found************/t+=1.0/k;/************found************/_______}main(){int m;system("cls");printf("\nPlease enter 1 integer number:");scanf("%d",&m);printf("\nThe result is %lf\n",fun(m));}t+=1.0/i;t=t+1.0/i;t=1.0/i+t;t+=1.00/i;t=t+1.00/i;t=1.00/i+t;t+=1./i;t=t+1./i;t=1./i+t;t+=(float)1/i;t=t+(float)1/i;t=(float)1/i+t;t+=1/(float)i;t=t+1/(float)i;t=1/(float)i+t;t+=(float)1/(float)i;t=t+(float)1/(float)i;t=(float)1/(float)i+t;t+=(double)1/i;t=t+(double)1/i;t=(double)1/i+t;t+=1/(double)i;t=t+1/(double)i;t=1/(double)i+t;t+=(double)1/(double)i;t=t+(double)1/(double)i;t=(double)1/(double)i+t;return t;return (t);5、在考生文件夹下的给定程序modi84.c中,函数fun的功能是:判断一个整数m是否是素数,若是返回1,否则返回0。

在main()函数中,若fun返回1,输出YES,若fun返回0,输出NO!。

请改正程序中的错误,使它能得出正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include <conio.h>#include <stdio.h>#include <stdlib.h>int fun(int m){ int k=2;while (k<=m&&(m%k))/************found************/k++/************found************/if (m=k)return 1;else return 0;}main(){int n;system("cls");printf("\nPlease enter n:");scanf( "%d",&n);if (fun(n)) printf("YES\n");else printf("NO!\n");}k++;++k;k=k+1;k+=1;k=1+k;if(m==k)if(k==m)if(m-k==0)if(k-m==0)if((m-k)==0)if((k-m)==0)if(!(m-k))if(!(k-m))6、考生文件夹下的给定程序modi100.c中函数 fun 的功能是:输入两个双精度数,函数返回它们的平方根的和。

相关文档
最新文档