C++改错和填空题题库(2)

2018-12-27 18:02

if(k>a[m]) j=m-1; else

i=m+1; }

/***********FOUND***********/ if(find=1)

cout<<\ else

cout<<\}

答案:

1). while(i<=j&&find==0) 2). find=1;

3). else if(k

第7题

/*------------------------------------------------------ 【程序改错】

--------------------------------------------------------

题目:打印扬辉三角形 1 1 1 1 2 1 1 3 3 1 1 3 6 4 1

--------------------------------------------------------

注意:不可以增加或删除程序行,也不可以更改程序的结构。 ------------------------------------------------------*/ #include void main()

{ int a[5][5],i,j; for(i=0;i<5;i++) {

/***********FOUND***********/ a[i][1]=1; a[i][i]=1;

for(j=1;j<=i-1;j++)

/***********FOUND***********/ a[i][j]=a[i-1][j-1]+a[i][j]; }

for(i=0;i<5;i++)

{

/***********FOUND***********/ for(j=0;j<5;j++)

/***********FOUND***********/ cout<

答案:

1). a[i][0]=1;

2). a[i][j]=a[i-1][j-1]+a[i-1][j]; 3). for(j=0;j<=i;j++) 4). cout<

第8题

/*------------------------------------------------------ 【程序改错】

--------------------------------------------------------

题目:用”筛选法”判断并输出1-100之间的素数. --------------------------------------------------------

注意:不可以增加或删除程序行,也不可以更改程序的结构。 ------------------------------------------------------*/ #include void main() {

int a[101],i,j;

for(i=1;i<=100;i++) a[i]=1; a[1]=0;

for(i=2;i<=50;i++) {

/***********FOUND***********/ j=1;

while (i*j<=100) {

/***********FOUND***********/ a[i][j]=0; j++; } }

for(i=1;i<=100;i++)

/***********FOUND***********/

if(a[i] =1)

/***********FOUND***********/ cout<

答案: 1). j=2;

2). a[i*j]=0; 或 a[j*i]=0; 3). if(a[i]==1) 或 if(a[i]) 4). cout<

第9题

/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

题目:下面函数chnum将一个整数字符串转换为一个整数。 --------------------------------------------------------

注意:不可以增加或删除程序行,也不可以更改程序的结构。 ------------------------------------------------------*/ #include #include int chnum (char *str) {

int i,j,k,h,len,L,num=0; /***********FOUND***********/ int L=n=strlen(str);

/***********FOUND***********/ for(i=0;i

k=1;

j=len=len-1;

cout<0) {

k=k*10;

/***********FOUND***********/ j++; }

/***********FOUND***********/ h=*(str+4-len)-'0'; num=num+h*k; }

return num; }

void main()

{ int t;char *a=\ t=chnum(a); cout<

答案:

1). L=len=strlen(str); 2). for(i=0;i

3). j--; 或 --j; 或 j=j-1; 或 j-=1; 4). h=*(str+i)-'0';

第10题

/*------------------------------------------------------ 【程序改错】

--------------------------------------------------------

题目:将1到255之间的任意一个十进制转换成二进制. -------------------------------------------------------

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

#include void main()

{ int a[8],k,m,n,i;

/***********FOUND***********/ cin<

while(n!=0) {

m=n/2; a[k]=n%2;

/***********FOUND***********/ k--;

/***********FOUND***********/ m = n; }

/***********FOUND***********/ for(i=k;i>=1;i++) cout<

答案:

1). cin>>n; 2). k++;

3). n=m;

4). for(i=k-1;i>=0;i--)

第11题

/*------------------------------------------------------ 【程序改错】

--------------------------------------------------------

题目:打印出1000以内的同时满足如下条件的数

个位数字与十位数字之和除以10所得的余数等于百位数字

--------------------------------------------------------

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

#include #include void main() {

/***********FOUND***********/ int a,b,c,d,i,j; for (i=3;i<1000;i++)

/***********FOUND***********/

{ for (j=2;flag=1;j<=sqrt(i)&&flag;j++) /***********FOUND***********/ if(i%j==1) flag=0; /***********FOUND***********/ if(flag==0) { a=i/100;

b=(i-a*100)/10; c=i-a*100-b*10; d=b+c-(c+b)/10*10; if (d==a)

cout<

答案:

1). int a,b,c,d,i,j,flag;

2). { for (j=2,flag=1;j<=sqrt(i)&&flag;j++) 3). if(i%j==0) flag=0; 或 if(!i%j==0) flag=0; 4). if(flag==1) 或 if(flag) 或 if(flag !=0)


C++改错和填空题题库(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:VdBench使用手册

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: