C++改错和填空题题库.docx
《C++改错和填空题题库.docx》由会员分享,可在线阅读,更多相关《C++改错和填空题题库.docx(77页珍藏版)》请在冰点文库上搜索。
C++改错和填空题题库
━━━━━━━━━━━━━━━━━
一、程序改错
第1题
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
题目:
用顺序交换法将12个整数中处于奇数位的数从大到小排序。
注意:
不可以增加或删除程序行,也不可以更改程序的结构。
------------------------------------------------------*/
#include
voidmain()
/***********FOUND***********/
{intm[12],i,j;
for(i=1;i<=12;i++)
cin>>m[i];
for(i=0;i<11;i+=2)
for(j=i+1;i<11;i++)
if(m[i]>m[j])
{k=m[i];
m[i]=m[j];
m[j]=k;
}
for(i=0;i<12;i++)
cout<}答案:1).{intm[12],i,j,k;2).for(i=0;i<12;i++)或for(i=0;i<=11;i++)3).for(j=i+2;j<11;j+=2)或for(j=i+2;j<11;j=j+2)4).if(m[j]>m[i])或if(m[i]第2题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在一个具有n个数的数组中查找并删除一个数K。--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#definen10#includevoidmain(){/***********FOUND***********/inta[n],n,k,i,j;/***********FOUND***********/for(i=1;i<=n;i++)cin>>a[i];cin>>k;/***********FOUND***********/for(i=1;i<=n||a[i]!=k;i++);if(i{for(j=i;j<=n-1;j++)a[j]=a[j+1];/***********FOUND***********/for(i=0;icout<}else{cout<<"notfound";for(i=0;icout<}}答案:1).inta[n],k,i,j;2).for(i=0;i3).for(i=0;i=k;i++);4).for(i=0;i第3题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:利用插入法将20个数排列成降序,并计算输入序列中第10个数到第20个数的和.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floats,a[21]={1,3,5,7,9,2,4,6,8,10,13,65,76,34,23,15,64,33,234,66};/***********FOUND***********/inti,j;for(j=2;j<=20;j++){k=j-1;a[0]=a[j];/***********FOUND***********/while(k>=0&&a[k]>a[0]){/***********FOUND***********/a[k]=a[k+1];k--;}/***********FOUND***********/a[k]=a[0];}for(i=1;i<=20;i++)cout<s=0.0;for(j=10;j<=20;j++)s=s+a[j];cout<}答案:1).inti,j,k;2).while(m=0)3).a[k+1]=a[k];4).a[k+1]=a[0];第4题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将十进制正整数n转化为二进制数输出--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){intm[50],m1[50],n,i,j,n1;cin>>n;i=0;while(n>0){/***********FOUND***********/n1=n%2;/***********FOUND***********/m1[i]=n/2;/***********FOUND***********/n1=n;i++;}for(j=1;j<=i;j++)/***********FOUND***********/m1[i+1-j]=m[j];for(j=1;j<=i;j++)cout<}答案:1).n1=n/2;2).m1[i]=n%2;3).n=n1;4).m[j]=m1[i-j];第5题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:判断一个自然数是否为降序数(若D1D2D3……DN满足DI>DI+1,1<=I<=N,则D1D2……DN为降序数,如54321)--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){intm[100],n,i,j;cin>>n;for(i=0;n!=0;i++){/***********FOUND***********/m[i]=n/10;/***********FOUND***********/n=n%10;}/***********FOUND***********/for(j=0;j/***********FOUND***********/if(j<=i)cout<<"yes";elsecout<<"no";}答案:1).m[i]=n%10;2).n=n/10;3).for(j=0;j4).if(j==i-1)第6题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:用二分法在一组按升序的数中找出指定的数K.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[20],n,find,k,m,i,j;cin>>n;for(i=0;icin>>a[i];cin>>k;find=0;i=0;j=n-1;/***********FOUND***********/while(i<=j&&find=0){m=(i+j)/2;if(k==a[m])/***********FOUND***********/find=0;/***********FOUND***********/elseif(k>a[m])j=m-1;elsei=m+1;}/***********FOUND***********/if(find=1)cout<<"found"<elsecout<<"nofound";}答案:1).while(i<=j&&find==0)2).find=1;3).elseif(k4).if(find==1)第7题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:打印扬辉三角形111121133113641--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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<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之间的素数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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#includeintchnum(char*str){inti,j,k,h,len,L,num=0;/***********FOUND***********/intL=n=strlen(str);/***********FOUND***********/for(i=0;i{k=1;j=len=len-1;cout<while(j>0){k=k*10;/***********FOUND***********/j++;}/***********FOUND***********/h=*(str+4-len)-'0';num=num+h*k;}returnnum;}voidmain(){intt;char*a="1234";t=chnum(a);cout<}答案:1).L=len=strlen(str);2).for(i=0;i3).j--;或--j;或j=j-1;或j-=1;4).h=*(str+i)-'0';第10题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将1到255之间的任意一个十进制转换成二进制.-------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[8],k,m,n,i;/***********FOUND***********/cin<k=0;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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
答案:
1).{intm[12],i,j,k;
2).for(i=0;i<12;i++)或for(i=0;i<=11;i++)
3).for(j=i+2;j<11;j+=2)或for(j=i+2;j<11;j=j+2)
4).if(m[j]>m[i])或if(m[i]第2题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在一个具有n个数的数组中查找并删除一个数K。--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#definen10#includevoidmain(){/***********FOUND***********/inta[n],n,k,i,j;/***********FOUND***********/for(i=1;i<=n;i++)cin>>a[i];cin>>k;/***********FOUND***********/for(i=1;i<=n||a[i]!=k;i++);if(i{for(j=i;j<=n-1;j++)a[j]=a[j+1];/***********FOUND***********/for(i=0;icout<}else{cout<<"notfound";for(i=0;icout<}}答案:1).inta[n],k,i,j;2).for(i=0;i3).for(i=0;i=k;i++);4).for(i=0;i第3题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:利用插入法将20个数排列成降序,并计算输入序列中第10个数到第20个数的和.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floats,a[21]={1,3,5,7,9,2,4,6,8,10,13,65,76,34,23,15,64,33,234,66};/***********FOUND***********/inti,j;for(j=2;j<=20;j++){k=j-1;a[0]=a[j];/***********FOUND***********/while(k>=0&&a[k]>a[0]){/***********FOUND***********/a[k]=a[k+1];k--;}/***********FOUND***********/a[k]=a[0];}for(i=1;i<=20;i++)cout<s=0.0;for(j=10;j<=20;j++)s=s+a[j];cout<}答案:1).inti,j,k;2).while(m=0)3).a[k+1]=a[k];4).a[k+1]=a[0];第4题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将十进制正整数n转化为二进制数输出--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){intm[50],m1[50],n,i,j,n1;cin>>n;i=0;while(n>0){/***********FOUND***********/n1=n%2;/***********FOUND***********/m1[i]=n/2;/***********FOUND***********/n1=n;i++;}for(j=1;j<=i;j++)/***********FOUND***********/m1[i+1-j]=m[j];for(j=1;j<=i;j++)cout<}答案:1).n1=n/2;2).m1[i]=n%2;3).n=n1;4).m[j]=m1[i-j];第5题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:判断一个自然数是否为降序数(若D1D2D3……DN满足DI>DI+1,1<=I<=N,则D1D2……DN为降序数,如54321)--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){intm[100],n,i,j;cin>>n;for(i=0;n!=0;i++){/***********FOUND***********/m[i]=n/10;/***********FOUND***********/n=n%10;}/***********FOUND***********/for(j=0;j/***********FOUND***********/if(j<=i)cout<<"yes";elsecout<<"no";}答案:1).m[i]=n%10;2).n=n/10;3).for(j=0;j4).if(j==i-1)第6题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:用二分法在一组按升序的数中找出指定的数K.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[20],n,find,k,m,i,j;cin>>n;for(i=0;icin>>a[i];cin>>k;find=0;i=0;j=n-1;/***********FOUND***********/while(i<=j&&find=0){m=(i+j)/2;if(k==a[m])/***********FOUND***********/find=0;/***********FOUND***********/elseif(k>a[m])j=m-1;elsei=m+1;}/***********FOUND***********/if(find=1)cout<<"found"<elsecout<<"nofound";}答案:1).while(i<=j&&find==0)2).find=1;3).elseif(k4).if(find==1)第7题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:打印扬辉三角形111121133113641--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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<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之间的素数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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#includeintchnum(char*str){inti,j,k,h,len,L,num=0;/***********FOUND***********/intL=n=strlen(str);/***********FOUND***********/for(i=0;i{k=1;j=len=len-1;cout<while(j>0){k=k*10;/***********FOUND***********/j++;}/***********FOUND***********/h=*(str+4-len)-'0';num=num+h*k;}returnnum;}voidmain(){intt;char*a="1234";t=chnum(a);cout<}答案:1).L=len=strlen(str);2).for(i=0;i3).j--;或--j;或j=j-1;或j-=1;4).h=*(str+i)-'0';第10题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将1到255之间的任意一个十进制转换成二进制.-------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[8],k,m,n,i;/***********FOUND***********/cin<k=0;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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
第2题
在一个具有n个数的数组中查找并删除一个数K。
#definen10
{
inta[n],n,k,i,j;
for(i=1;i<=n;i++)
cin>>a[i];
cin>>k;
for(i=1;i<=n||a[i]!
=k;i++);
if(i{for(j=i;j<=n-1;j++)a[j]=a[j+1];/***********FOUND***********/for(i=0;icout<}else{cout<<"notfound";for(i=0;icout<}}答案:1).inta[n],k,i,j;2).for(i=0;i3).for(i=0;i=k;i++);4).for(i=0;i第3题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:利用插入法将20个数排列成降序,并计算输入序列中第10个数到第20个数的和.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floats,a[21]={1,3,5,7,9,2,4,6,8,10,13,65,76,34,23,15,64,33,234,66};/***********FOUND***********/inti,j;for(j=2;j<=20;j++){k=j-1;a[0]=a[j];/***********FOUND***********/while(k>=0&&a[k]>a[0]){/***********FOUND***********/a[k]=a[k+1];k--;}/***********FOUND***********/a[k]=a[0];}for(i=1;i<=20;i++)cout<s=0.0;for(j=10;j<=20;j++)s=s+a[j];cout<}答案:1).inti,j,k;2).while(m=0)3).a[k+1]=a[k];4).a[k+1]=a[0];第4题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将十进制正整数n转化为二进制数输出--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){intm[50],m1[50],n,i,j,n1;cin>>n;i=0;while(n>0){/***********FOUND***********/n1=n%2;/***********FOUND***********/m1[i]=n/2;/***********FOUND***********/n1=n;i++;}for(j=1;j<=i;j++)/***********FOUND***********/m1[i+1-j]=m[j];for(j=1;j<=i;j++)cout<}答案:1).n1=n/2;2).m1[i]=n%2;3).n=n1;4).m[j]=m1[i-j];第5题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:判断一个自然数是否为降序数(若D1D2D3……DN满足DI>DI+1,1<=I<=N,则D1D2……DN为降序数,如54321)--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){intm[100],n,i,j;cin>>n;for(i=0;n!=0;i++){/***********FOUND***********/m[i]=n/10;/***********FOUND***********/n=n%10;}/***********FOUND***********/for(j=0;j/***********FOUND***********/if(j<=i)cout<<"yes";elsecout<<"no";}答案:1).m[i]=n%10;2).n=n/10;3).for(j=0;j4).if(j==i-1)第6题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:用二分法在一组按升序的数中找出指定的数K.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[20],n,find,k,m,i,j;cin>>n;for(i=0;icin>>a[i];cin>>k;find=0;i=0;j=n-1;/***********FOUND***********/while(i<=j&&find=0){m=(i+j)/2;if(k==a[m])/***********FOUND***********/find=0;/***********FOUND***********/elseif(k>a[m])j=m-1;elsei=m+1;}/***********FOUND***********/if(find=1)cout<<"found"<elsecout<<"nofound";}答案:1).while(i<=j&&find==0)2).find=1;3).elseif(k4).if(find==1)第7题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:打印扬辉三角形111121133113641--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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<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之间的素数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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#includeintchnum(char*str){inti,j,k,h,len,L,num=0;/***********FOUND***********/intL=n=strlen(str);/***********FOUND***********/for(i=0;i{k=1;j=len=len-1;cout<while(j>0){k=k*10;/***********FOUND***********/j++;}/***********FOUND***********/h=*(str+4-len)-'0';num=num+h*k;}returnnum;}voidmain(){intt;char*a="1234";t=chnum(a);cout<}答案:1).L=len=strlen(str);2).for(i=0;i3).j--;或--j;或j=j-1;或j-=1;4).h=*(str+i)-'0';第10题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将1到255之间的任意一个十进制转换成二进制.-------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[8],k,m,n,i;/***********FOUND***********/cin<k=0;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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
{for(j=i;j<=n-1;j++)
a[j]=a[j+1];
for(i=0;icout<}else{cout<<"notfound";for(i=0;icout<}}答案:1).inta[n],k,i,j;2).for(i=0;i3).for(i=0;i=k;i++);4).for(i=0;i第3题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:利用插入法将20个数排列成降序,并计算输入序列中第10个数到第20个数的和.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floats,a[21]={1,3,5,7,9,2,4,6,8,10,13,65,76,34,23,15,64,33,234,66};/***********FOUND***********/inti,j;for(j=2;j<=20;j++){k=j-1;a[0]=a[j];/***********FOUND***********/while(k>=0&&a[k]>a[0]){/***********FOUND***********/a[k]=a[k+1];k--;}/***********FOUND***********/a[k]=a[0];}for(i=1;i<=20;i++)cout<s=0.0;for(j=10;j<=20;j++)s=s+a[j];cout<}答案:1).inti,j,k;2).while(m=0)3).a[k+1]=a[k];4).a[k+1]=a[0];第4题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将十进制正整数n转化为二进制数输出--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){intm[50],m1[50],n,i,j,n1;cin>>n;i=0;while(n>0){/***********FOUND***********/n1=n%2;/***********FOUND***********/m1[i]=n/2;/***********FOUND***********/n1=n;i++;}for(j=1;j<=i;j++)/***********FOUND***********/m1[i+1-j]=m[j];for(j=1;j<=i;j++)cout<}答案:1).n1=n/2;2).m1[i]=n%2;3).n=n1;4).m[j]=m1[i-j];第5题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:判断一个自然数是否为降序数(若D1D2D3……DN满足DI>DI+1,1<=I<=N,则D1D2……DN为降序数,如54321)--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){intm[100],n,i,j;cin>>n;for(i=0;n!=0;i++){/***********FOUND***********/m[i]=n/10;/***********FOUND***********/n=n%10;}/***********FOUND***********/for(j=0;j/***********FOUND***********/if(j<=i)cout<<"yes";elsecout<<"no";}答案:1).m[i]=n%10;2).n=n/10;3).for(j=0;j4).if(j==i-1)第6题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:用二分法在一组按升序的数中找出指定的数K.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[20],n,find,k,m,i,j;cin>>n;for(i=0;icin>>a[i];cin>>k;find=0;i=0;j=n-1;/***********FOUND***********/while(i<=j&&find=0){m=(i+j)/2;if(k==a[m])/***********FOUND***********/find=0;/***********FOUND***********/elseif(k>a[m])j=m-1;elsei=m+1;}/***********FOUND***********/if(find=1)cout<<"found"<elsecout<<"nofound";}答案:1).while(i<=j&&find==0)2).find=1;3).elseif(k4).if(find==1)第7题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:打印扬辉三角形111121133113641--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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<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之间的素数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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#includeintchnum(char*str){inti,j,k,h,len,L,num=0;/***********FOUND***********/intL=n=strlen(str);/***********FOUND***********/for(i=0;i{k=1;j=len=len-1;cout<while(j>0){k=k*10;/***********FOUND***********/j++;}/***********FOUND***********/h=*(str+4-len)-'0';num=num+h*k;}returnnum;}voidmain(){intt;char*a="1234";t=chnum(a);cout<}答案:1).L=len=strlen(str);2).for(i=0;i3).j--;或--j;或j=j-1;或j-=1;4).h=*(str+i)-'0';第10题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将1到255之间的任意一个十进制转换成二进制.-------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[8],k,m,n,i;/***********FOUND***********/cin<k=0;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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
cout<}else{cout<<"notfound";for(i=0;icout<}}答案:1).inta[n],k,i,j;2).for(i=0;i3).for(i=0;i=k;i++);4).for(i=0;i第3题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:利用插入法将20个数排列成降序,并计算输入序列中第10个数到第20个数的和.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floats,a[21]={1,3,5,7,9,2,4,6,8,10,13,65,76,34,23,15,64,33,234,66};/***********FOUND***********/inti,j;for(j=2;j<=20;j++){k=j-1;a[0]=a[j];/***********FOUND***********/while(k>=0&&a[k]>a[0]){/***********FOUND***********/a[k]=a[k+1];k--;}/***********FOUND***********/a[k]=a[0];}for(i=1;i<=20;i++)cout<s=0.0;for(j=10;j<=20;j++)s=s+a[j];cout<}答案:1).inti,j,k;2).while(m=0)3).a[k+1]=a[k];4).a[k+1]=a[0];第4题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将十进制正整数n转化为二进制数输出--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){intm[50],m1[50],n,i,j,n1;cin>>n;i=0;while(n>0){/***********FOUND***********/n1=n%2;/***********FOUND***********/m1[i]=n/2;/***********FOUND***********/n1=n;i++;}for(j=1;j<=i;j++)/***********FOUND***********/m1[i+1-j]=m[j];for(j=1;j<=i;j++)cout<}答案:1).n1=n/2;2).m1[i]=n%2;3).n=n1;4).m[j]=m1[i-j];第5题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:判断一个自然数是否为降序数(若D1D2D3……DN满足DI>DI+1,1<=I<=N,则D1D2……DN为降序数,如54321)--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){intm[100],n,i,j;cin>>n;for(i=0;n!=0;i++){/***********FOUND***********/m[i]=n/10;/***********FOUND***********/n=n%10;}/***********FOUND***********/for(j=0;j/***********FOUND***********/if(j<=i)cout<<"yes";elsecout<<"no";}答案:1).m[i]=n%10;2).n=n/10;3).for(j=0;j4).if(j==i-1)第6题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:用二分法在一组按升序的数中找出指定的数K.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[20],n,find,k,m,i,j;cin>>n;for(i=0;icin>>a[i];cin>>k;find=0;i=0;j=n-1;/***********FOUND***********/while(i<=j&&find=0){m=(i+j)/2;if(k==a[m])/***********FOUND***********/find=0;/***********FOUND***********/elseif(k>a[m])j=m-1;elsei=m+1;}/***********FOUND***********/if(find=1)cout<<"found"<elsecout<<"nofound";}答案:1).while(i<=j&&find==0)2).find=1;3).elseif(k4).if(find==1)第7题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:打印扬辉三角形111121133113641--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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<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之间的素数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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#includeintchnum(char*str){inti,j,k,h,len,L,num=0;/***********FOUND***********/intL=n=strlen(str);/***********FOUND***********/for(i=0;i{k=1;j=len=len-1;cout<while(j>0){k=k*10;/***********FOUND***********/j++;}/***********FOUND***********/h=*(str+4-len)-'0';num=num+h*k;}returnnum;}voidmain(){intt;char*a="1234";t=chnum(a);cout<}答案:1).L=len=strlen(str);2).for(i=0;i3).j--;或--j;或j=j-1;或j-=1;4).h=*(str+i)-'0';第10题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将1到255之间的任意一个十进制转换成二进制.-------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[8],k,m,n,i;/***********FOUND***********/cin<k=0;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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
else
{cout<<"notfound";
for(i=0;icout<}}答案:1).inta[n],k,i,j;2).for(i=0;i3).for(i=0;i=k;i++);4).for(i=0;i第3题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:利用插入法将20个数排列成降序,并计算输入序列中第10个数到第20个数的和.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floats,a[21]={1,3,5,7,9,2,4,6,8,10,13,65,76,34,23,15,64,33,234,66};/***********FOUND***********/inti,j;for(j=2;j<=20;j++){k=j-1;a[0]=a[j];/***********FOUND***********/while(k>=0&&a[k]>a[0]){/***********FOUND***********/a[k]=a[k+1];k--;}/***********FOUND***********/a[k]=a[0];}for(i=1;i<=20;i++)cout<s=0.0;for(j=10;j<=20;j++)s=s+a[j];cout<}答案:1).inti,j,k;2).while(m=0)3).a[k+1]=a[k];4).a[k+1]=a[0];第4题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将十进制正整数n转化为二进制数输出--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){intm[50],m1[50],n,i,j,n1;cin>>n;i=0;while(n>0){/***********FOUND***********/n1=n%2;/***********FOUND***********/m1[i]=n/2;/***********FOUND***********/n1=n;i++;}for(j=1;j<=i;j++)/***********FOUND***********/m1[i+1-j]=m[j];for(j=1;j<=i;j++)cout<}答案:1).n1=n/2;2).m1[i]=n%2;3).n=n1;4).m[j]=m1[i-j];第5题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:判断一个自然数是否为降序数(若D1D2D3……DN满足DI>DI+1,1<=I<=N,则D1D2……DN为降序数,如54321)--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){intm[100],n,i,j;cin>>n;for(i=0;n!=0;i++){/***********FOUND***********/m[i]=n/10;/***********FOUND***********/n=n%10;}/***********FOUND***********/for(j=0;j/***********FOUND***********/if(j<=i)cout<<"yes";elsecout<<"no";}答案:1).m[i]=n%10;2).n=n/10;3).for(j=0;j4).if(j==i-1)第6题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:用二分法在一组按升序的数中找出指定的数K.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[20],n,find,k,m,i,j;cin>>n;for(i=0;icin>>a[i];cin>>k;find=0;i=0;j=n-1;/***********FOUND***********/while(i<=j&&find=0){m=(i+j)/2;if(k==a[m])/***********FOUND***********/find=0;/***********FOUND***********/elseif(k>a[m])j=m-1;elsei=m+1;}/***********FOUND***********/if(find=1)cout<<"found"<elsecout<<"nofound";}答案:1).while(i<=j&&find==0)2).find=1;3).elseif(k4).if(find==1)第7题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:打印扬辉三角形111121133113641--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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<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之间的素数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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#includeintchnum(char*str){inti,j,k,h,len,L,num=0;/***********FOUND***********/intL=n=strlen(str);/***********FOUND***********/for(i=0;i{k=1;j=len=len-1;cout<while(j>0){k=k*10;/***********FOUND***********/j++;}/***********FOUND***********/h=*(str+4-len)-'0';num=num+h*k;}returnnum;}voidmain(){intt;char*a="1234";t=chnum(a);cout<}答案:1).L=len=strlen(str);2).for(i=0;i3).j--;或--j;或j=j-1;或j-=1;4).h=*(str+i)-'0';第10题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将1到255之间的任意一个十进制转换成二进制.-------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[8],k,m,n,i;/***********FOUND***********/cin<k=0;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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
cout<}}答案:1).inta[n],k,i,j;2).for(i=0;i3).for(i=0;i=k;i++);4).for(i=0;i第3题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:利用插入法将20个数排列成降序,并计算输入序列中第10个数到第20个数的和.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floats,a[21]={1,3,5,7,9,2,4,6,8,10,13,65,76,34,23,15,64,33,234,66};/***********FOUND***********/inti,j;for(j=2;j<=20;j++){k=j-1;a[0]=a[j];/***********FOUND***********/while(k>=0&&a[k]>a[0]){/***********FOUND***********/a[k]=a[k+1];k--;}/***********FOUND***********/a[k]=a[0];}for(i=1;i<=20;i++)cout<s=0.0;for(j=10;j<=20;j++)s=s+a[j];cout<}答案:1).inti,j,k;2).while(m=0)3).a[k+1]=a[k];4).a[k+1]=a[0];第4题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将十进制正整数n转化为二进制数输出--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){intm[50],m1[50],n,i,j,n1;cin>>n;i=0;while(n>0){/***********FOUND***********/n1=n%2;/***********FOUND***********/m1[i]=n/2;/***********FOUND***********/n1=n;i++;}for(j=1;j<=i;j++)/***********FOUND***********/m1[i+1-j]=m[j];for(j=1;j<=i;j++)cout<}答案:1).n1=n/2;2).m1[i]=n%2;3).n=n1;4).m[j]=m1[i-j];第5题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:判断一个自然数是否为降序数(若D1D2D3……DN满足DI>DI+1,1<=I<=N,则D1D2……DN为降序数,如54321)--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){intm[100],n,i,j;cin>>n;for(i=0;n!=0;i++){/***********FOUND***********/m[i]=n/10;/***********FOUND***********/n=n%10;}/***********FOUND***********/for(j=0;j/***********FOUND***********/if(j<=i)cout<<"yes";elsecout<<"no";}答案:1).m[i]=n%10;2).n=n/10;3).for(j=0;j4).if(j==i-1)第6题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:用二分法在一组按升序的数中找出指定的数K.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[20],n,find,k,m,i,j;cin>>n;for(i=0;icin>>a[i];cin>>k;find=0;i=0;j=n-1;/***********FOUND***********/while(i<=j&&find=0){m=(i+j)/2;if(k==a[m])/***********FOUND***********/find=0;/***********FOUND***********/elseif(k>a[m])j=m-1;elsei=m+1;}/***********FOUND***********/if(find=1)cout<<"found"<elsecout<<"nofound";}答案:1).while(i<=j&&find==0)2).find=1;3).elseif(k4).if(find==1)第7题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:打印扬辉三角形111121133113641--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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<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之间的素数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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#includeintchnum(char*str){inti,j,k,h,len,L,num=0;/***********FOUND***********/intL=n=strlen(str);/***********FOUND***********/for(i=0;i{k=1;j=len=len-1;cout<while(j>0){k=k*10;/***********FOUND***********/j++;}/***********FOUND***********/h=*(str+4-len)-'0';num=num+h*k;}returnnum;}voidmain(){intt;char*a="1234";t=chnum(a);cout<}答案:1).L=len=strlen(str);2).for(i=0;i3).j--;或--j;或j=j-1;或j-=1;4).h=*(str+i)-'0';第10题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将1到255之间的任意一个十进制转换成二进制.-------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[8],k,m,n,i;/***********FOUND***********/cin<k=0;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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
1).inta[n],k,i,j;
2).for(i=0;i3).for(i=0;i=k;i++);4).for(i=0;i第3题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:利用插入法将20个数排列成降序,并计算输入序列中第10个数到第20个数的和.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floats,a[21]={1,3,5,7,9,2,4,6,8,10,13,65,76,34,23,15,64,33,234,66};/***********FOUND***********/inti,j;for(j=2;j<=20;j++){k=j-1;a[0]=a[j];/***********FOUND***********/while(k>=0&&a[k]>a[0]){/***********FOUND***********/a[k]=a[k+1];k--;}/***********FOUND***********/a[k]=a[0];}for(i=1;i<=20;i++)cout<s=0.0;for(j=10;j<=20;j++)s=s+a[j];cout<}答案:1).inti,j,k;2).while(m=0)3).a[k+1]=a[k];4).a[k+1]=a[0];第4题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将十进制正整数n转化为二进制数输出--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){intm[50],m1[50],n,i,j,n1;cin>>n;i=0;while(n>0){/***********FOUND***********/n1=n%2;/***********FOUND***********/m1[i]=n/2;/***********FOUND***********/n1=n;i++;}for(j=1;j<=i;j++)/***********FOUND***********/m1[i+1-j]=m[j];for(j=1;j<=i;j++)cout<}答案:1).n1=n/2;2).m1[i]=n%2;3).n=n1;4).m[j]=m1[i-j];第5题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:判断一个自然数是否为降序数(若D1D2D3……DN满足DI>DI+1,1<=I<=N,则D1D2……DN为降序数,如54321)--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){intm[100],n,i,j;cin>>n;for(i=0;n!=0;i++){/***********FOUND***********/m[i]=n/10;/***********FOUND***********/n=n%10;}/***********FOUND***********/for(j=0;j/***********FOUND***********/if(j<=i)cout<<"yes";elsecout<<"no";}答案:1).m[i]=n%10;2).n=n/10;3).for(j=0;j4).if(j==i-1)第6题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:用二分法在一组按升序的数中找出指定的数K.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[20],n,find,k,m,i,j;cin>>n;for(i=0;icin>>a[i];cin>>k;find=0;i=0;j=n-1;/***********FOUND***********/while(i<=j&&find=0){m=(i+j)/2;if(k==a[m])/***********FOUND***********/find=0;/***********FOUND***********/elseif(k>a[m])j=m-1;elsei=m+1;}/***********FOUND***********/if(find=1)cout<<"found"<elsecout<<"nofound";}答案:1).while(i<=j&&find==0)2).find=1;3).elseif(k4).if(find==1)第7题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:打印扬辉三角形111121133113641--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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<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之间的素数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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#includeintchnum(char*str){inti,j,k,h,len,L,num=0;/***********FOUND***********/intL=n=strlen(str);/***********FOUND***********/for(i=0;i{k=1;j=len=len-1;cout<while(j>0){k=k*10;/***********FOUND***********/j++;}/***********FOUND***********/h=*(str+4-len)-'0';num=num+h*k;}returnnum;}voidmain(){intt;char*a="1234";t=chnum(a);cout<}答案:1).L=len=strlen(str);2).for(i=0;i3).j--;或--j;或j=j-1;或j-=1;4).h=*(str+i)-'0';第10题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将1到255之间的任意一个十进制转换成二进制.-------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[8],k,m,n,i;/***********FOUND***********/cin<k=0;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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
3).for(i=0;i=k;i++);4).for(i=0;i第3题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:利用插入法将20个数排列成降序,并计算输入序列中第10个数到第20个数的和.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floats,a[21]={1,3,5,7,9,2,4,6,8,10,13,65,76,34,23,15,64,33,234,66};/***********FOUND***********/inti,j;for(j=2;j<=20;j++){k=j-1;a[0]=a[j];/***********FOUND***********/while(k>=0&&a[k]>a[0]){/***********FOUND***********/a[k]=a[k+1];k--;}/***********FOUND***********/a[k]=a[0];}for(i=1;i<=20;i++)cout<s=0.0;for(j=10;j<=20;j++)s=s+a[j];cout<}答案:1).inti,j,k;2).while(m=0)3).a[k+1]=a[k];4).a[k+1]=a[0];第4题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将十进制正整数n转化为二进制数输出--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){intm[50],m1[50],n,i,j,n1;cin>>n;i=0;while(n>0){/***********FOUND***********/n1=n%2;/***********FOUND***********/m1[i]=n/2;/***********FOUND***********/n1=n;i++;}for(j=1;j<=i;j++)/***********FOUND***********/m1[i+1-j]=m[j];for(j=1;j<=i;j++)cout<}答案:1).n1=n/2;2).m1[i]=n%2;3).n=n1;4).m[j]=m1[i-j];第5题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:判断一个自然数是否为降序数(若D1D2D3……DN满足DI>DI+1,1<=I<=N,则D1D2……DN为降序数,如54321)--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){intm[100],n,i,j;cin>>n;for(i=0;n!=0;i++){/***********FOUND***********/m[i]=n/10;/***********FOUND***********/n=n%10;}/***********FOUND***********/for(j=0;j/***********FOUND***********/if(j<=i)cout<<"yes";elsecout<<"no";}答案:1).m[i]=n%10;2).n=n/10;3).for(j=0;j4).if(j==i-1)第6题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:用二分法在一组按升序的数中找出指定的数K.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[20],n,find,k,m,i,j;cin>>n;for(i=0;icin>>a[i];cin>>k;find=0;i=0;j=n-1;/***********FOUND***********/while(i<=j&&find=0){m=(i+j)/2;if(k==a[m])/***********FOUND***********/find=0;/***********FOUND***********/elseif(k>a[m])j=m-1;elsei=m+1;}/***********FOUND***********/if(find=1)cout<<"found"<elsecout<<"nofound";}答案:1).while(i<=j&&find==0)2).find=1;3).elseif(k4).if(find==1)第7题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:打印扬辉三角形111121133113641--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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<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之间的素数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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#includeintchnum(char*str){inti,j,k,h,len,L,num=0;/***********FOUND***********/intL=n=strlen(str);/***********FOUND***********/for(i=0;i{k=1;j=len=len-1;cout<while(j>0){k=k*10;/***********FOUND***********/j++;}/***********FOUND***********/h=*(str+4-len)-'0';num=num+h*k;}returnnum;}voidmain(){intt;char*a="1234";t=chnum(a);cout<}答案:1).L=len=strlen(str);2).for(i=0;i3).j--;或--j;或j=j-1;或j-=1;4).h=*(str+i)-'0';第10题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将1到255之间的任意一个十进制转换成二进制.-------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[8],k,m,n,i;/***********FOUND***********/cin<k=0;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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
4).for(i=0;i第3题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:利用插入法将20个数排列成降序,并计算输入序列中第10个数到第20个数的和.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floats,a[21]={1,3,5,7,9,2,4,6,8,10,13,65,76,34,23,15,64,33,234,66};/***********FOUND***********/inti,j;for(j=2;j<=20;j++){k=j-1;a[0]=a[j];/***********FOUND***********/while(k>=0&&a[k]>a[0]){/***********FOUND***********/a[k]=a[k+1];k--;}/***********FOUND***********/a[k]=a[0];}for(i=1;i<=20;i++)cout<s=0.0;for(j=10;j<=20;j++)s=s+a[j];cout<}答案:1).inti,j,k;2).while(m=0)3).a[k+1]=a[k];4).a[k+1]=a[0];第4题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将十进制正整数n转化为二进制数输出--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){intm[50],m1[50],n,i,j,n1;cin>>n;i=0;while(n>0){/***********FOUND***********/n1=n%2;/***********FOUND***********/m1[i]=n/2;/***********FOUND***********/n1=n;i++;}for(j=1;j<=i;j++)/***********FOUND***********/m1[i+1-j]=m[j];for(j=1;j<=i;j++)cout<}答案:1).n1=n/2;2).m1[i]=n%2;3).n=n1;4).m[j]=m1[i-j];第5题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:判断一个自然数是否为降序数(若D1D2D3……DN满足DI>DI+1,1<=I<=N,则D1D2……DN为降序数,如54321)--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){intm[100],n,i,j;cin>>n;for(i=0;n!=0;i++){/***********FOUND***********/m[i]=n/10;/***********FOUND***********/n=n%10;}/***********FOUND***********/for(j=0;j/***********FOUND***********/if(j<=i)cout<<"yes";elsecout<<"no";}答案:1).m[i]=n%10;2).n=n/10;3).for(j=0;j4).if(j==i-1)第6题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:用二分法在一组按升序的数中找出指定的数K.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[20],n,find,k,m,i,j;cin>>n;for(i=0;icin>>a[i];cin>>k;find=0;i=0;j=n-1;/***********FOUND***********/while(i<=j&&find=0){m=(i+j)/2;if(k==a[m])/***********FOUND***********/find=0;/***********FOUND***********/elseif(k>a[m])j=m-1;elsei=m+1;}/***********FOUND***********/if(find=1)cout<<"found"<elsecout<<"nofound";}答案:1).while(i<=j&&find==0)2).find=1;3).elseif(k4).if(find==1)第7题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:打印扬辉三角形111121133113641--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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<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之间的素数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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#includeintchnum(char*str){inti,j,k,h,len,L,num=0;/***********FOUND***********/intL=n=strlen(str);/***********FOUND***********/for(i=0;i{k=1;j=len=len-1;cout<while(j>0){k=k*10;/***********FOUND***********/j++;}/***********FOUND***********/h=*(str+4-len)-'0';num=num+h*k;}returnnum;}voidmain(){intt;char*a="1234";t=chnum(a);cout<}答案:1).L=len=strlen(str);2).for(i=0;i3).j--;或--j;或j=j-1;或j-=1;4).h=*(str+i)-'0';第10题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将1到255之间的任意一个十进制转换成二进制.-------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[8],k,m,n,i;/***********FOUND***********/cin<k=0;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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
第3题
利用插入法将20个数排列成降序,并计算输入序列中第10个数到第20个数的和.
{floats,a[21]={1,3,5,7,9,2,4,6,8,10,13,65,76,34,23,15,64,33,234,66};
inti,j;
for(j=2;j<=20;j++)
{k=j-1;
a[0]=a[j];
while(k>=0&&a[k]>a[0])
a[k]=a[k+1];
k--;
a[k]=a[0];
for(i=1;i<=20;i++)
cout<s=0.0;for(j=10;j<=20;j++)s=s+a[j];cout<}答案:1).inti,j,k;2).while(m=0)3).a[k+1]=a[k];4).a[k+1]=a[0];第4题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将十进制正整数n转化为二进制数输出--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){intm[50],m1[50],n,i,j,n1;cin>>n;i=0;while(n>0){/***********FOUND***********/n1=n%2;/***********FOUND***********/m1[i]=n/2;/***********FOUND***********/n1=n;i++;}for(j=1;j<=i;j++)/***********FOUND***********/m1[i+1-j]=m[j];for(j=1;j<=i;j++)cout<}答案:1).n1=n/2;2).m1[i]=n%2;3).n=n1;4).m[j]=m1[i-j];第5题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:判断一个自然数是否为降序数(若D1D2D3……DN满足DI>DI+1,1<=I<=N,则D1D2……DN为降序数,如54321)--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){intm[100],n,i,j;cin>>n;for(i=0;n!=0;i++){/***********FOUND***********/m[i]=n/10;/***********FOUND***********/n=n%10;}/***********FOUND***********/for(j=0;j/***********FOUND***********/if(j<=i)cout<<"yes";elsecout<<"no";}答案:1).m[i]=n%10;2).n=n/10;3).for(j=0;j4).if(j==i-1)第6题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:用二分法在一组按升序的数中找出指定的数K.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[20],n,find,k,m,i,j;cin>>n;for(i=0;icin>>a[i];cin>>k;find=0;i=0;j=n-1;/***********FOUND***********/while(i<=j&&find=0){m=(i+j)/2;if(k==a[m])/***********FOUND***********/find=0;/***********FOUND***********/elseif(k>a[m])j=m-1;elsei=m+1;}/***********FOUND***********/if(find=1)cout<<"found"<elsecout<<"nofound";}答案:1).while(i<=j&&find==0)2).find=1;3).elseif(k4).if(find==1)第7题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:打印扬辉三角形111121133113641--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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<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之间的素数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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#includeintchnum(char*str){inti,j,k,h,len,L,num=0;/***********FOUND***********/intL=n=strlen(str);/***********FOUND***********/for(i=0;i{k=1;j=len=len-1;cout<while(j>0){k=k*10;/***********FOUND***********/j++;}/***********FOUND***********/h=*(str+4-len)-'0';num=num+h*k;}returnnum;}voidmain(){intt;char*a="1234";t=chnum(a);cout<}答案:1).L=len=strlen(str);2).for(i=0;i3).j--;或--j;或j=j-1;或j-=1;4).h=*(str+i)-'0';第10题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将1到255之间的任意一个十进制转换成二进制.-------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[8],k,m,n,i;/***********FOUND***********/cin<k=0;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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
s=0.0;
for(j=10;j<=20;j++)
s=s+a[j];
cout<
1).inti,j,k;
2).while(m=0)
3).a[k+1]=a[k];
4).a[k+1]=a[0];
第4题
将十进制正整数n转化为二进制数输出
intm[50],m1[50],n,i,j,n1;
cin>>n;
i=0;
while(n>0)
n1=n%2;
m1[i]=n/2;
n1=n;
i++;
for(j=1;j<=i;j++)
m1[i+1-j]=m[j];
cout<}答案:1).n1=n/2;2).m1[i]=n%2;3).n=n1;4).m[j]=m1[i-j];第5题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:判断一个自然数是否为降序数(若D1D2D3……DN满足DI>DI+1,1<=I<=N,则D1D2……DN为降序数,如54321)--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){intm[100],n,i,j;cin>>n;for(i=0;n!=0;i++){/***********FOUND***********/m[i]=n/10;/***********FOUND***********/n=n%10;}/***********FOUND***********/for(j=0;j/***********FOUND***********/if(j<=i)cout<<"yes";elsecout<<"no";}答案:1).m[i]=n%10;2).n=n/10;3).for(j=0;j4).if(j==i-1)第6题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:用二分法在一组按升序的数中找出指定的数K.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[20],n,find,k,m,i,j;cin>>n;for(i=0;icin>>a[i];cin>>k;find=0;i=0;j=n-1;/***********FOUND***********/while(i<=j&&find=0){m=(i+j)/2;if(k==a[m])/***********FOUND***********/find=0;/***********FOUND***********/elseif(k>a[m])j=m-1;elsei=m+1;}/***********FOUND***********/if(find=1)cout<<"found"<elsecout<<"nofound";}答案:1).while(i<=j&&find==0)2).find=1;3).elseif(k4).if(find==1)第7题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:打印扬辉三角形111121133113641--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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<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之间的素数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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#includeintchnum(char*str){inti,j,k,h,len,L,num=0;/***********FOUND***********/intL=n=strlen(str);/***********FOUND***********/for(i=0;i{k=1;j=len=len-1;cout<while(j>0){k=k*10;/***********FOUND***********/j++;}/***********FOUND***********/h=*(str+4-len)-'0';num=num+h*k;}returnnum;}voidmain(){intt;char*a="1234";t=chnum(a);cout<}答案:1).L=len=strlen(str);2).for(i=0;i3).j--;或--j;或j=j-1;或j-=1;4).h=*(str+i)-'0';第10题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将1到255之间的任意一个十进制转换成二进制.-------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[8],k,m,n,i;/***********FOUND***********/cin<k=0;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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
1).n1=n/2;
2).m1[i]=n%2;
3).n=n1;
4).m[j]=m1[i-j];
第5题
判断一个自然数是否为降序数(若D1D2D3……DN满足DI>DI+1,
1<=I<=N,则D1D2……DN为降序数,如54321)
{intm[100],n,i,j;
for(i=0;n!
=0;i++)
m[i]=n/10;
n=n%10;
for(j=0;j
if(j<=i)
cout<<"yes";
cout<<"no";
1).m[i]=n%10;
2).n=n/10;
3).for(j=0;j4).if(j==i-1)第6题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:用二分法在一组按升序的数中找出指定的数K.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[20],n,find,k,m,i,j;cin>>n;for(i=0;icin>>a[i];cin>>k;find=0;i=0;j=n-1;/***********FOUND***********/while(i<=j&&find=0){m=(i+j)/2;if(k==a[m])/***********FOUND***********/find=0;/***********FOUND***********/elseif(k>a[m])j=m-1;elsei=m+1;}/***********FOUND***********/if(find=1)cout<<"found"<elsecout<<"nofound";}答案:1).while(i<=j&&find==0)2).find=1;3).elseif(k4).if(find==1)第7题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:打印扬辉三角形111121133113641--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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<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之间的素数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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#includeintchnum(char*str){inti,j,k,h,len,L,num=0;/***********FOUND***********/intL=n=strlen(str);/***********FOUND***********/for(i=0;i{k=1;j=len=len-1;cout<while(j>0){k=k*10;/***********FOUND***********/j++;}/***********FOUND***********/h=*(str+4-len)-'0';num=num+h*k;}returnnum;}voidmain(){intt;char*a="1234";t=chnum(a);cout<}答案:1).L=len=strlen(str);2).for(i=0;i3).j--;或--j;或j=j-1;或j-=1;4).h=*(str+i)-'0';第10题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将1到255之间的任意一个十进制转换成二进制.-------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[8],k,m,n,i;/***********FOUND***********/cin<k=0;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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
4).if(j==i-1)
第6题
用二分法在一组按升序的数中找出指定的数K.
inta[20],n,find,k,m,i,j;
for(i=0;icin>>a[i];cin>>k;find=0;i=0;j=n-1;/***********FOUND***********/while(i<=j&&find=0){m=(i+j)/2;if(k==a[m])/***********FOUND***********/find=0;/***********FOUND***********/elseif(k>a[m])j=m-1;elsei=m+1;}/***********FOUND***********/if(find=1)cout<<"found"<elsecout<<"nofound";}答案:1).while(i<=j&&find==0)2).find=1;3).elseif(k4).if(find==1)第7题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:打印扬辉三角形111121133113641--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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<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之间的素数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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#includeintchnum(char*str){inti,j,k,h,len,L,num=0;/***********FOUND***********/intL=n=strlen(str);/***********FOUND***********/for(i=0;i{k=1;j=len=len-1;cout<while(j>0){k=k*10;/***********FOUND***********/j++;}/***********FOUND***********/h=*(str+4-len)-'0';num=num+h*k;}returnnum;}voidmain(){intt;char*a="1234";t=chnum(a);cout<}答案:1).L=len=strlen(str);2).for(i=0;i3).j--;或--j;或j=j-1;或j-=1;4).h=*(str+i)-'0';第10题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将1到255之间的任意一个十进制转换成二进制.-------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[8],k,m,n,i;/***********FOUND***********/cin<k=0;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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
find=0;
i=0;j=n-1;
while(i<=j&&find=0)
{m=(i+j)/2;
if(k==a[m])
if(k>a[m])
j=m-1;
i=m+1;
if(find=1)
cout<<"found"<elsecout<<"nofound";}答案:1).while(i<=j&&find==0)2).find=1;3).elseif(k4).if(find==1)第7题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:打印扬辉三角形111121133113641--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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<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之间的素数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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#includeintchnum(char*str){inti,j,k,h,len,L,num=0;/***********FOUND***********/intL=n=strlen(str);/***********FOUND***********/for(i=0;i{k=1;j=len=len-1;cout<while(j>0){k=k*10;/***********FOUND***********/j++;}/***********FOUND***********/h=*(str+4-len)-'0';num=num+h*k;}returnnum;}voidmain(){intt;char*a="1234";t=chnum(a);cout<}答案:1).L=len=strlen(str);2).for(i=0;i3).j--;或--j;或j=j-1;或j-=1;4).h=*(str+i)-'0';第10题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将1到255之间的任意一个十进制转换成二进制.-------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[8],k,m,n,i;/***********FOUND***********/cin<k=0;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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
cout<<"nofound";
1).while(i<=j&&find==0)
2).find=1;
3).elseif(k4).if(find==1)第7题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:打印扬辉三角形111121133113641--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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<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之间的素数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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#includeintchnum(char*str){inti,j,k,h,len,L,num=0;/***********FOUND***********/intL=n=strlen(str);/***********FOUND***********/for(i=0;i{k=1;j=len=len-1;cout<while(j>0){k=k*10;/***********FOUND***********/j++;}/***********FOUND***********/h=*(str+4-len)-'0';num=num+h*k;}returnnum;}voidmain(){intt;char*a="1234";t=chnum(a);cout<}答案:1).L=len=strlen(str);2).for(i=0;i3).j--;或--j;或j=j-1;或j-=1;4).h=*(str+i)-'0';第10题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将1到255之间的任意一个十进制转换成二进制.-------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[8],k,m,n,i;/***********FOUND***********/cin<k=0;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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
4).if(find==1)
第7题
打印扬辉三角形
1
11
121
1331
13641
{inta[5][5],i,j;
for(i=0;i<5;i++)
a[i][1]=1;
a[i][i]=1;
for(j=1;j<=i-1;j++)
a[i][j]=a[i-1][j-1]+a[i][j];
for(j=0;j<5;j++)
cout<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之间的素数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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#includeintchnum(char*str){inti,j,k,h,len,L,num=0;/***********FOUND***********/intL=n=strlen(str);/***********FOUND***********/for(i=0;i{k=1;j=len=len-1;cout<while(j>0){k=k*10;/***********FOUND***********/j++;}/***********FOUND***********/h=*(str+4-len)-'0';num=num+h*k;}returnnum;}voidmain(){intt;char*a="1234";t=chnum(a);cout<}答案:1).L=len=strlen(str);2).for(i=0;i3).j--;或--j;或j=j-1;或j-=1;4).h=*(str+i)-'0';第10题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将1到255之间的任意一个十进制转换成二进制.-------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[8],k,m,n,i;/***********FOUND***********/cin<k=0;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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
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之间的素数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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#includeintchnum(char*str){inti,j,k,h,len,L,num=0;/***********FOUND***********/intL=n=strlen(str);/***********FOUND***********/for(i=0;i{k=1;j=len=len-1;cout<while(j>0){k=k*10;/***********FOUND***********/j++;}/***********FOUND***********/h=*(str+4-len)-'0';num=num+h*k;}returnnum;}voidmain(){intt;char*a="1234";t=chnum(a);cout<}答案:1).L=len=strlen(str);2).for(i=0;i3).j--;或--j;或j=j-1;或j-=1;4).h=*(str+i)-'0';第10题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将1到255之间的任意一个十进制转换成二进制.-------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[8],k,m,n,i;/***********FOUND***********/cin<k=0;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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
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之间的素数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[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#includeintchnum(char*str){inti,j,k,h,len,L,num=0;/***********FOUND***********/intL=n=strlen(str);/***********FOUND***********/for(i=0;i{k=1;j=len=len-1;cout<while(j>0){k=k*10;/***********FOUND***********/j++;}/***********FOUND***********/h=*(str+4-len)-'0';num=num+h*k;}returnnum;}voidmain(){intt;char*a="1234";t=chnum(a);cout<}答案:1).L=len=strlen(str);2).for(i=0;i3).j--;或--j;或j=j-1;或j-=1;4).h=*(str+i)-'0';第10题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将1到255之间的任意一个十进制转换成二进制.-------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[8],k,m,n,i;/***********FOUND***********/cin<k=0;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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
第8题
用”筛选法”判断并输出1-100之间的素数.
inta[101],i,j;
for(i=1;i<=100;i++)
a[i]=1;
a[1]=0;
for(i=2;i<=50;i++)
j=1;
while(i*j<=100)
a[i][j]=0;
j++;
if(a[i]=1)
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#includeintchnum(char*str){inti,j,k,h,len,L,num=0;/***********FOUND***********/intL=n=strlen(str);/***********FOUND***********/for(i=0;i{k=1;j=len=len-1;cout<while(j>0){k=k*10;/***********FOUND***********/j++;}/***********FOUND***********/h=*(str+4-len)-'0';num=num+h*k;}returnnum;}voidmain(){intt;char*a="1234";t=chnum(a);cout<}答案:1).L=len=strlen(str);2).for(i=0;i3).j--;或--j;或j=j-1;或j-=1;4).h=*(str+i)-'0';第10题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将1到255之间的任意一个十进制转换成二进制.-------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[8],k,m,n,i;/***********FOUND***********/cin<k=0;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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
1).j=2;
2).a[i*j]=0;或a[j*i]=0;
3).if(a[i]==1)或if(a[i])
4).cout<
第9题
题目:
下面函数chnum将一个整数字符串转换为一个整数。
intchnum(char*str)
inti,j,k,h,len,L,num=0;
intL=n=strlen(str);
for(i=0;i{k=1;j=len=len-1;cout<while(j>0){k=k*10;/***********FOUND***********/j++;}/***********FOUND***********/h=*(str+4-len)-'0';num=num+h*k;}returnnum;}voidmain(){intt;char*a="1234";t=chnum(a);cout<}答案:1).L=len=strlen(str);2).for(i=0;i3).j--;或--j;或j=j-1;或j-=1;4).h=*(str+i)-'0';第10题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将1到255之间的任意一个十进制转换成二进制.-------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[8],k,m,n,i;/***********FOUND***********/cin<k=0;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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
k=1;
j=len=len-1;
cout<while(j>0){k=k*10;/***********FOUND***********/j++;}/***********FOUND***********/h=*(str+4-len)-'0';num=num+h*k;}returnnum;}voidmain(){intt;char*a="1234";t=chnum(a);cout<}答案:1).L=len=strlen(str);2).for(i=0;i3).j--;或--j;或j=j-1;或j-=1;4).h=*(str+i)-'0';第10题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将1到255之间的任意一个十进制转换成二进制.-------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[8],k,m,n,i;/***********FOUND***********/cin<k=0;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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
while(j>0)
k=k*10;
h=*(str+4-len)-'0';
num=num+h*k;
returnnum;
{intt;char*a="1234";
t=chnum(a);
cout<}答案:1).L=len=strlen(str);2).for(i=0;i3).j--;或--j;或j=j-1;或j-=1;4).h=*(str+i)-'0';第10题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将1到255之间的任意一个十进制转换成二进制.-------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[8],k,m,n,i;/***********FOUND***********/cin<k=0;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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
1).L=len=strlen(str);
2).for(i=0;i3).j--;或--j;或j=j-1;或j-=1;4).h=*(str+i)-'0';第10题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:将1到255之间的任意一个十进制转换成二进制.-------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta[8],k,m,n,i;/***********FOUND***********/cin<k=0;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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
3).j--;或--j;或j=j-1;或j-=1;
4).h=*(str+i)-'0';
第10题
将1到255之间的任意一个十进制转换成二进制.
-------------------------------------------------------
{inta[8],k,m,n,i;
cin<k=0;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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
k=0;
while(n!
=0)
m=n/2;
a[k]=n%2;
m=n;
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#includevoidmain(){/***********FOUND***********/inta,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).inta,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)第12题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:统计100-300之间同时被3,7整除的数的个数,输出这些数的个数及它们的平方和434385.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){floatns;/***********FOUND***********/intk;n=0;/***********FOUND***********/ns=1;for(k=100;k<=300;k++){/***********FOUND***********/n37=7%k+3%k;/***********FOUND***********/if(n37=0){n++;ns=ns+k*k;}}cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
1).cin>>n;
2).k++;
3).n=m;
4).for(i=k-1;i>=0;i--)
第11题
打印出1000以内的同时满足如下条件的数
个位数字与十位数字之和除以10所得的余数等于百位数字
inta,b,c,d,i,j;
for(i=3;i<1000;i++)
{for(j=2;flag=1;j<=sqrt(i)&&flag;j++)
if(i%j==1)flag=0;
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)
1).inta,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!
第12题
统计100-300之间同时被3,7整除的数的个数,输出这些数
的个数及它们的平方和434385.
{floatns;
intk;
n=0;
ns=1;
for(k=100;k<=300;k++)
n37=7%k+3%k;
if(n37=0)
{n++;
ns=ns+k*k;
cout<}答案:1).intn37,k,n;2).ns=0;3).n37=k%7+k%3;4).if(n37==0)第13题/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:在[100,5000]之间打印出各位数字和为5的所有整数的个数.--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includevoidmain(){inta,b,c,d,k,i;k=0;for(i=104;i<=50
1).intn37,k,n;
2).ns=0;
3).n37=k%7+k%3;
4).if(n37==0)
第13题
在[100,5000]之间打印出各位数字和为5的所有整数的个数.
inta,b,c,d,k,i;
for(i=104;i<=50
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2