c++编程大题总汇.docx
《c++编程大题总汇.docx》由会员分享,可在线阅读,更多相关《c++编程大题总汇.docx(23页珍藏版)》请在冰豆网上搜索。
c++编程大题总汇
1.编写程序:
用递归算法实现函数:
intsum(intn);其功能是求1+2+3+…+n的值并返回。
要求编写主函数main()去调用递归函数sum()。
编写程序如下:
【答案】
#include
intsum(intn)
{
if(n==0||n==1)return1;
elsereturnn+sum(n-1);
}
voidmain()
intn;
cout<<"pleaseinputn:
\n";
cin>>n;
cout<<"1+2+3+...+"<}1.编写程序:分别求出acm(5,3)、acm(4,2)、acm(5,5)的值。阿克曼函数定义如下:n+1m=0acm(m,n)=acm(m-1,n)n=0acm(m-1,acm(m,n-1))n>0,m>0编写程序如下:【答案】#includeintacm(intm,intn);voidmain(){intm,n;cout<<"pleaseinputmandn:\n";cin>>m>>n;cout<<"acm(m,n)="<}intacm(intm,intn){if(m==0)returnn+1;else{if(n==0)returnacm(m-1,n);elsereturnacm(m-1,acm(m,n-1));}}输入:53输出:5输入:42输出:3输入:55输出:62.编写程序:要求输入一个整数n,能够逐位取出正序或反序输出,用递归算法实现:函数:voidf1(intn);功能是:将n逐位取出反序输出函数:voidf2(intn);功能是:将n逐位取出正序输出算法提示:重复除以10取余数,直到商为0为止;若函数中先输出余数,后递归调用,则为反序输出;若函数中先递归调用,后输出余数,则为正序输出。编写程序如下:【答案】#includevoidf1(intn);voidf2(intn);voidmain(){intn;cout<<"pleaseinputanintnumbern=";cin>>n;cout<<"n反序输出";f1(n);cout<cout<<"n正序输出";f2(n);cout<}voidf1(intn){cout<if(n<10)return;elsef1(n/10);}voidf2(intn){if(n>10)f2(n/10);cout<return;}----------------------------------------------------1.编写程序:用“筛选法”求出2~80之间的所有素数,要求每行输出4个素数。编写程序如下:【答案】#include#includevoidmain(){intprime[39];for(inti=0,j=3;i<39;i++,j+=2)prime[i]=j;for(i=0;i<39;i++)if(prime[i])for(j=i+1;j<39;j++)if(prime[j]&&prime[j]%prime[i]==0)prime[j]=0;cout<<"2~80之间的素数:\n";for(j=0,i=0;i<39;i++)if(prime[i]){cout<if(j%4==0)cout<}2.编写程序:随机产生10个三位数的整数并存入数组中,用“选择排序法”对数组中的随机数进行升序排序。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%900+100;cout<cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++){temp=a[i];k=i;for(j=i+1;j<10;j++)if(temp>a[j]){temp=a[j];k=j;}if(k!=i){temp=a[i];a[i]=a[k];a[k]=temp;}}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}3.编写程序:随机产生10个四位数的整数并存入数组中,用“冒泡排序法”对数组中的随机数进行降序排序。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%900+100;cout<cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++)for(j=9;j>i;j--)if(a[j]>a[j-1]){temp=a[j];a[j]=a[j-1];a[j-1]=temp;}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}4.编写程序:随机产生10个二位数的整数并存入数组中,再从键盘上任意输入一个要查找的整数,用“顺序查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<cout<<"请输入要查找的数:";cin>>k;for(i=0;i<10;i++)if(a[i]==k){cout<\n";return;}cout<\n";}5.编写程序:随机产生10个二位数的整数并存入数组中,对其进行升序排序,再从键盘上任意输入一个要查找的整数,用“折半查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,j,low,high,mid,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
分别求出acm(5,3)、acm(4,2)、acm(5,5)的值。
阿克曼函数定义如下:
n+1m=0
acm(m,n)=acm(m-1,n)n=0
acm(m-1,acm(m,n-1))n>0,m>0
【答案】#include
intacm(intm,intn);
intm,n;
cout<<"pleaseinputmandn:
cin>>m>>n;
cout<<"acm(m,n)="<}intacm(intm,intn){if(m==0)returnn+1;else{if(n==0)returnacm(m-1,n);elsereturnacm(m-1,acm(m,n-1));}}输入:53输出:5输入:42输出:3输入:55输出:62.编写程序:要求输入一个整数n,能够逐位取出正序或反序输出,用递归算法实现:函数:voidf1(intn);功能是:将n逐位取出反序输出函数:voidf2(intn);功能是:将n逐位取出正序输出算法提示:重复除以10取余数,直到商为0为止;若函数中先输出余数,后递归调用,则为反序输出;若函数中先递归调用,后输出余数,则为正序输出。编写程序如下:【答案】#includevoidf1(intn);voidf2(intn);voidmain(){intn;cout<<"pleaseinputanintnumbern=";cin>>n;cout<<"n反序输出";f1(n);cout<cout<<"n正序输出";f2(n);cout<}voidf1(intn){cout<if(n<10)return;elsef1(n/10);}voidf2(intn){if(n>10)f2(n/10);cout<return;}----------------------------------------------------1.编写程序:用“筛选法”求出2~80之间的所有素数,要求每行输出4个素数。编写程序如下:【答案】#include#includevoidmain(){intprime[39];for(inti=0,j=3;i<39;i++,j+=2)prime[i]=j;for(i=0;i<39;i++)if(prime[i])for(j=i+1;j<39;j++)if(prime[j]&&prime[j]%prime[i]==0)prime[j]=0;cout<<"2~80之间的素数:\n";for(j=0,i=0;i<39;i++)if(prime[i]){cout<if(j%4==0)cout<}2.编写程序:随机产生10个三位数的整数并存入数组中,用“选择排序法”对数组中的随机数进行升序排序。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%900+100;cout<cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++){temp=a[i];k=i;for(j=i+1;j<10;j++)if(temp>a[j]){temp=a[j];k=j;}if(k!=i){temp=a[i];a[i]=a[k];a[k]=temp;}}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}3.编写程序:随机产生10个四位数的整数并存入数组中,用“冒泡排序法”对数组中的随机数进行降序排序。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%900+100;cout<cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++)for(j=9;j>i;j--)if(a[j]>a[j-1]){temp=a[j];a[j]=a[j-1];a[j-1]=temp;}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}4.编写程序:随机产生10个二位数的整数并存入数组中,再从键盘上任意输入一个要查找的整数,用“顺序查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<cout<<"请输入要查找的数:";cin>>k;for(i=0;i<10;i++)if(a[i]==k){cout<\n";return;}cout<\n";}5.编写程序:随机产生10个二位数的整数并存入数组中,对其进行升序排序,再从键盘上任意输入一个要查找的整数,用“折半查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,j,low,high,mid,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
intacm(intm,intn)
if(m==0)
returnn+1;
else
if(n==0)
returnacm(m-1,n);
returnacm(m-1,acm(m,n-1));
输入:
53输出:
5
42输出:
3
55输出:
6
2.编写程序:
要求输入一个整数n,能够逐位取出正序或反序输出,用递归算法实现:
函数:
voidf1(intn);功能是:
将n逐位取出反序输出
voidf2(intn);功能是:
将n逐位取出正序输出
算法提示:
重复除以10取余数,直到商为0为止;若函数中先输出余数,后递归调用,则为反序输出;若函数中先递归调用,后输出余数,则为正序输出。
voidf1(intn);
voidf2(intn);
cout<<"pleaseinputanintnumbern=";
cout<<"n反序输出";
f1(n);
cout<cout<<"n正序输出";f2(n);cout<}voidf1(intn){cout<if(n<10)return;elsef1(n/10);}voidf2(intn){if(n>10)f2(n/10);cout<return;}----------------------------------------------------1.编写程序:用“筛选法”求出2~80之间的所有素数,要求每行输出4个素数。编写程序如下:【答案】#include#includevoidmain(){intprime[39];for(inti=0,j=3;i<39;i++,j+=2)prime[i]=j;for(i=0;i<39;i++)if(prime[i])for(j=i+1;j<39;j++)if(prime[j]&&prime[j]%prime[i]==0)prime[j]=0;cout<<"2~80之间的素数:\n";for(j=0,i=0;i<39;i++)if(prime[i]){cout<if(j%4==0)cout<}2.编写程序:随机产生10个三位数的整数并存入数组中,用“选择排序法”对数组中的随机数进行升序排序。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%900+100;cout<cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++){temp=a[i];k=i;for(j=i+1;j<10;j++)if(temp>a[j]){temp=a[j];k=j;}if(k!=i){temp=a[i];a[i]=a[k];a[k]=temp;}}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}3.编写程序:随机产生10个四位数的整数并存入数组中,用“冒泡排序法”对数组中的随机数进行降序排序。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%900+100;cout<cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++)for(j=9;j>i;j--)if(a[j]>a[j-1]){temp=a[j];a[j]=a[j-1];a[j-1]=temp;}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}4.编写程序:随机产生10个二位数的整数并存入数组中,再从键盘上任意输入一个要查找的整数,用“顺序查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<cout<<"请输入要查找的数:";cin>>k;for(i=0;i<10;i++)if(a[i]==k){cout<\n";return;}cout<\n";}5.编写程序:随机产生10个二位数的整数并存入数组中,对其进行升序排序,再从键盘上任意输入一个要查找的整数,用“折半查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,j,low,high,mid,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
cout<<"n正序输出";
f2(n);
cout<}voidf1(intn){cout<if(n<10)return;elsef1(n/10);}voidf2(intn){if(n>10)f2(n/10);cout<return;}----------------------------------------------------1.编写程序:用“筛选法”求出2~80之间的所有素数,要求每行输出4个素数。编写程序如下:【答案】#include#includevoidmain(){intprime[39];for(inti=0,j=3;i<39;i++,j+=2)prime[i]=j;for(i=0;i<39;i++)if(prime[i])for(j=i+1;j<39;j++)if(prime[j]&&prime[j]%prime[i]==0)prime[j]=0;cout<<"2~80之间的素数:\n";for(j=0,i=0;i<39;i++)if(prime[i]){cout<if(j%4==0)cout<}2.编写程序:随机产生10个三位数的整数并存入数组中,用“选择排序法”对数组中的随机数进行升序排序。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%900+100;cout<cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++){temp=a[i];k=i;for(j=i+1;j<10;j++)if(temp>a[j]){temp=a[j];k=j;}if(k!=i){temp=a[i];a[i]=a[k];a[k]=temp;}}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}3.编写程序:随机产生10个四位数的整数并存入数组中,用“冒泡排序法”对数组中的随机数进行降序排序。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%900+100;cout<cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++)for(j=9;j>i;j--)if(a[j]>a[j-1]){temp=a[j];a[j]=a[j-1];a[j-1]=temp;}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}4.编写程序:随机产生10个二位数的整数并存入数组中,再从键盘上任意输入一个要查找的整数,用“顺序查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<cout<<"请输入要查找的数:";cin>>k;for(i=0;i<10;i++)if(a[i]==k){cout<\n";return;}cout<\n";}5.编写程序:随机产生10个二位数的整数并存入数组中,对其进行升序排序,再从键盘上任意输入一个要查找的整数,用“折半查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,j,low,high,mid,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
voidf1(intn)
cout<if(n<10)return;elsef1(n/10);}voidf2(intn){if(n>10)f2(n/10);cout<return;}----------------------------------------------------1.编写程序:用“筛选法”求出2~80之间的所有素数,要求每行输出4个素数。编写程序如下:【答案】#include#includevoidmain(){intprime[39];for(inti=0,j=3;i<39;i++,j+=2)prime[i]=j;for(i=0;i<39;i++)if(prime[i])for(j=i+1;j<39;j++)if(prime[j]&&prime[j]%prime[i]==0)prime[j]=0;cout<<"2~80之间的素数:\n";for(j=0,i=0;i<39;i++)if(prime[i]){cout<if(j%4==0)cout<}2.编写程序:随机产生10个三位数的整数并存入数组中,用“选择排序法”对数组中的随机数进行升序排序。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%900+100;cout<cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++){temp=a[i];k=i;for(j=i+1;j<10;j++)if(temp>a[j]){temp=a[j];k=j;}if(k!=i){temp=a[i];a[i]=a[k];a[k]=temp;}}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}3.编写程序:随机产生10个四位数的整数并存入数组中,用“冒泡排序法”对数组中的随机数进行降序排序。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%900+100;cout<cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++)for(j=9;j>i;j--)if(a[j]>a[j-1]){temp=a[j];a[j]=a[j-1];a[j-1]=temp;}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}4.编写程序:随机产生10个二位数的整数并存入数组中,再从键盘上任意输入一个要查找的整数,用“顺序查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<cout<<"请输入要查找的数:";cin>>k;for(i=0;i<10;i++)if(a[i]==k){cout<\n";return;}cout<\n";}5.编写程序:随机产生10个二位数的整数并存入数组中,对其进行升序排序,再从键盘上任意输入一个要查找的整数,用“折半查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,j,low,high,mid,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
if(n<10)return;
elsef1(n/10);
voidf2(intn)
if(n>10)
f2(n/10);
cout<return;}----------------------------------------------------1.编写程序:用“筛选法”求出2~80之间的所有素数,要求每行输出4个素数。编写程序如下:【答案】#include#includevoidmain(){intprime[39];for(inti=0,j=3;i<39;i++,j+=2)prime[i]=j;for(i=0;i<39;i++)if(prime[i])for(j=i+1;j<39;j++)if(prime[j]&&prime[j]%prime[i]==0)prime[j]=0;cout<<"2~80之间的素数:\n";for(j=0,i=0;i<39;i++)if(prime[i]){cout<if(j%4==0)cout<}2.编写程序:随机产生10个三位数的整数并存入数组中,用“选择排序法”对数组中的随机数进行升序排序。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%900+100;cout<cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++){temp=a[i];k=i;for(j=i+1;j<10;j++)if(temp>a[j]){temp=a[j];k=j;}if(k!=i){temp=a[i];a[i]=a[k];a[k]=temp;}}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}3.编写程序:随机产生10个四位数的整数并存入数组中,用“冒泡排序法”对数组中的随机数进行降序排序。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%900+100;cout<cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++)for(j=9;j>i;j--)if(a[j]>a[j-1]){temp=a[j];a[j]=a[j-1];a[j-1]=temp;}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}4.编写程序:随机产生10个二位数的整数并存入数组中,再从键盘上任意输入一个要查找的整数,用“顺序查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<cout<<"请输入要查找的数:";cin>>k;for(i=0;i<10;i++)if(a[i]==k){cout<\n";return;}cout<\n";}5.编写程序:随机产生10个二位数的整数并存入数组中,对其进行升序排序,再从键盘上任意输入一个要查找的整数,用“折半查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,j,low,high,mid,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
return;
}----------------------------------------------------
用“筛选法”求出2~80之间的所有素数,要求每行输出4个素数。
{intprime[39];
for(inti=0,j=3;i<39;i++,j+=2)prime[i]=j;
for(i=0;i<39;i++)
if(prime[i])
for(j=i+1;j<39;j++)
if(prime[j]&&prime[j]%prime[i]==0)prime[j]=0;
cout<<"2~80之间的素数:
for(j=0,i=0;i<39;i++)
{cout<if(j%4==0)cout<}2.编写程序:随机产生10个三位数的整数并存入数组中,用“选择排序法”对数组中的随机数进行升序排序。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%900+100;cout<cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++){temp=a[i];k=i;for(j=i+1;j<10;j++)if(temp>a[j]){temp=a[j];k=j;}if(k!=i){temp=a[i];a[i]=a[k];a[k]=temp;}}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}3.编写程序:随机产生10个四位数的整数并存入数组中,用“冒泡排序法”对数组中的随机数进行降序排序。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%900+100;cout<cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++)for(j=9;j>i;j--)if(a[j]>a[j-1]){temp=a[j];a[j]=a[j-1];a[j-1]=temp;}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}4.编写程序:随机产生10个二位数的整数并存入数组中,再从键盘上任意输入一个要查找的整数,用“顺序查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<cout<<"请输入要查找的数:";cin>>k;for(i=0;i<10;i++)if(a[i]==k){cout<\n";return;}cout<\n";}5.编写程序:随机产生10个二位数的整数并存入数组中,对其进行升序排序,再从键盘上任意输入一个要查找的整数,用“折半查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,j,low,high,mid,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
if(j%4==0)
cout<}2.编写程序:随机产生10个三位数的整数并存入数组中,用“选择排序法”对数组中的随机数进行升序排序。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%900+100;cout<cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++){temp=a[i];k=i;for(j=i+1;j<10;j++)if(temp>a[j]){temp=a[j];k=j;}if(k!=i){temp=a[i];a[i]=a[k];a[k]=temp;}}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}3.编写程序:随机产生10个四位数的整数并存入数组中,用“冒泡排序法”对数组中的随机数进行降序排序。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%900+100;cout<cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++)for(j=9;j>i;j--)if(a[j]>a[j-1]){temp=a[j];a[j]=a[j-1];a[j-1]=temp;}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}4.编写程序:随机产生10个二位数的整数并存入数组中,再从键盘上任意输入一个要查找的整数,用“顺序查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<cout<<"请输入要查找的数:";cin>>k;for(i=0;i<10;i++)if(a[i]==k){cout<\n";return;}cout<\n";}5.编写程序:随机产生10个二位数的整数并存入数组中,对其进行升序排序,再从键盘上任意输入一个要查找的整数,用“折半查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,j,low,high,mid,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
随机产生10个三位数的整数并存入数组中,用“选择排序法”对数组中的随机数进行升序排序。
{inta[10],i,k;
unsignedseed;
cout<<"请输入一个随机数种子(无符号整数)=";
cin>>seed;
srand(seed);
cout<<"数组中的内容:
";
for(i=0;i<10;i++)
{a[i]=rand()%900+100;
cout<cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++){temp=a[i];k=i;for(j=i+1;j<10;j++)if(temp>a[j]){temp=a[j];k=j;}if(k!=i){temp=a[i];a[i]=a[k];a[k]=temp;}}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}3.编写程序:随机产生10个四位数的整数并存入数组中,用“冒泡排序法”对数组中的随机数进行降序排序。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%900+100;cout<cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++)for(j=9;j>i;j--)if(a[j]>a[j-1]){temp=a[j];a[j]=a[j-1];a[j-1]=temp;}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}4.编写程序:随机产生10个二位数的整数并存入数组中,再从键盘上任意输入一个要查找的整数,用“顺序查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<cout<<"请输入要查找的数:";cin>>k;for(i=0;i<10;i++)if(a[i]==k){cout<\n";return;}cout<\n";}5.编写程序:随机产生10个二位数的整数并存入数组中,对其进行升序排序,再从键盘上任意输入一个要查找的整数,用“折半查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,j,low,high,mid,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++){temp=a[i];k=i;for(j=i+1;j<10;j++)if(temp>a[j]){temp=a[j];k=j;}if(k!=i){temp=a[i];a[i]=a[k];a[k]=temp;}}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}3.编写程序:随机产生10个四位数的整数并存入数组中,用“冒泡排序法”对数组中的随机数进行降序排序。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%900+100;cout<cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++)for(j=9;j>i;j--)if(a[j]>a[j-1]){temp=a[j];a[j]=a[j-1];a[j-1]=temp;}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}4.编写程序:随机产生10个二位数的整数并存入数组中,再从键盘上任意输入一个要查找的整数,用“顺序查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<cout<<"请输入要查找的数:";cin>>k;for(i=0;i<10;i++)if(a[i]==k){cout<\n";return;}cout<\n";}5.编写程序:随机产生10个二位数的整数并存入数组中,对其进行升序排序,再从键盘上任意输入一个要查找的整数,用“折半查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,j,low,high,mid,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
intj,temp;
cout<<"排序前:
for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++){temp=a[i];k=i;for(j=i+1;j<10;j++)if(temp>a[j]){temp=a[j];k=j;}if(k!=i){temp=a[i];a[i]=a[k];a[k]=temp;}}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}3.编写程序:随机产生10个四位数的整数并存入数组中,用“冒泡排序法”对数组中的随机数进行降序排序。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%900+100;cout<cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++)for(j=9;j>i;j--)if(a[j]>a[j-1]){temp=a[j];a[j]=a[j-1];a[j-1]=temp;}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}4.编写程序:随机产生10个二位数的整数并存入数组中,再从键盘上任意输入一个要查找的整数,用“顺序查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<cout<<"请输入要查找的数:";cin>>k;for(i=0;i<10;i++)if(a[i]==k){cout<\n";return;}cout<\n";}5.编写程序:随机产生10个二位数的整数并存入数组中,对其进行升序排序,再从键盘上任意输入一个要查找的整数,用“折半查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,j,low,high,mid,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
cout<for(i=0;i<9;i++){temp=a[i];k=i;for(j=i+1;j<10;j++)if(temp>a[j]){temp=a[j];k=j;}if(k!=i){temp=a[i];a[i]=a[k];a[k]=temp;}}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}3.编写程序:随机产生10个四位数的整数并存入数组中,用“冒泡排序法”对数组中的随机数进行降序排序。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%900+100;cout<cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++)for(j=9;j>i;j--)if(a[j]>a[j-1]){temp=a[j];a[j]=a[j-1];a[j-1]=temp;}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}4.编写程序:随机产生10个二位数的整数并存入数组中,再从键盘上任意输入一个要查找的整数,用“顺序查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<cout<<"请输入要查找的数:";cin>>k;for(i=0;i<10;i++)if(a[i]==k){cout<\n";return;}cout<\n";}5.编写程序:随机产生10个二位数的整数并存入数组中,对其进行升序排序,再从键盘上任意输入一个要查找的整数,用“折半查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,j,low,high,mid,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
for(i=0;i<9;i++)
{temp=a[i];k=i;
for(j=i+1;j<10;j++)
if(temp>a[j]){temp=a[j];k=j;}
if(k!
=i){temp=a[i];a[i]=a[k];a[k]=temp;}}
cout<<"排序后:
for(i=0;i<10;i++)cout<cout<}3.编写程序:随机产生10个四位数的整数并存入数组中,用“冒泡排序法”对数组中的随机数进行降序排序。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%900+100;cout<cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++)for(j=9;j>i;j--)if(a[j]>a[j-1]){temp=a[j];a[j]=a[j-1];a[j-1]=temp;}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}4.编写程序:随机产生10个二位数的整数并存入数组中,再从键盘上任意输入一个要查找的整数,用“顺序查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<cout<<"请输入要查找的数:";cin>>k;for(i=0;i<10;i++)if(a[i]==k){cout<\n";return;}cout<\n";}5.编写程序:随机产生10个二位数的整数并存入数组中,对其进行升序排序,再从键盘上任意输入一个要查找的整数,用“折半查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,j,low,high,mid,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
cout<}3.编写程序:随机产生10个四位数的整数并存入数组中,用“冒泡排序法”对数组中的随机数进行降序排序。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%900+100;cout<cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++)for(j=9;j>i;j--)if(a[j]>a[j-1]){temp=a[j];a[j]=a[j-1];a[j-1]=temp;}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}4.编写程序:随机产生10个二位数的整数并存入数组中,再从键盘上任意输入一个要查找的整数,用“顺序查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<cout<<"请输入要查找的数:";cin>>k;for(i=0;i<10;i++)if(a[i]==k){cout<\n";return;}cout<\n";}5.编写程序:随机产生10个二位数的整数并存入数组中,对其进行升序排序,再从键盘上任意输入一个要查找的整数,用“折半查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,j,low,high,mid,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
3.编写程序:
随机产生10个四位数的整数并存入数组中,用“冒泡排序法”对数组中的随机数进行降序排序。
cout<cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++)for(j=9;j>i;j--)if(a[j]>a[j-1]){temp=a[j];a[j]=a[j-1];a[j-1]=temp;}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}4.编写程序:随机产生10个二位数的整数并存入数组中,再从键盘上任意输入一个要查找的整数,用“顺序查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<cout<<"请输入要查找的数:";cin>>k;for(i=0;i<10;i++)if(a[i]==k){cout<\n";return;}cout<\n";}5.编写程序:随机产生10个二位数的整数并存入数组中,对其进行升序排序,再从键盘上任意输入一个要查找的整数,用“折半查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,j,low,high,mid,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
cout<intj,temp;cout<<"排序前:";for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++)for(j=9;j>i;j--)if(a[j]>a[j-1]){temp=a[j];a[j]=a[j-1];a[j-1]=temp;}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}4.编写程序:随机产生10个二位数的整数并存入数组中,再从键盘上任意输入一个要查找的整数,用“顺序查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<cout<<"请输入要查找的数:";cin>>k;for(i=0;i<10;i++)if(a[i]==k){cout<\n";return;}cout<\n";}5.编写程序:随机产生10个二位数的整数并存入数组中,对其进行升序排序,再从键盘上任意输入一个要查找的整数,用“折半查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,j,low,high,mid,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
for(i=0;i<10;i++)cout<cout<for(i=0;i<9;i++)for(j=9;j>i;j--)if(a[j]>a[j-1]){temp=a[j];a[j]=a[j-1];a[j-1]=temp;}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}4.编写程序:随机产生10个二位数的整数并存入数组中,再从键盘上任意输入一个要查找的整数,用“顺序查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<cout<<"请输入要查找的数:";cin>>k;for(i=0;i<10;i++)if(a[i]==k){cout<\n";return;}cout<\n";}5.编写程序:随机产生10个二位数的整数并存入数组中,对其进行升序排序,再从键盘上任意输入一个要查找的整数,用“折半查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,j,low,high,mid,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
cout<for(i=0;i<9;i++)for(j=9;j>i;j--)if(a[j]>a[j-1]){temp=a[j];a[j]=a[j-1];a[j-1]=temp;}cout<<"排序后:";for(i=0;i<10;i++)cout<cout<}4.编写程序:随机产生10个二位数的整数并存入数组中,再从键盘上任意输入一个要查找的整数,用“顺序查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<cout<<"请输入要查找的数:";cin>>k;for(i=0;i<10;i++)if(a[i]==k){cout<\n";return;}cout<\n";}5.编写程序:随机产生10个二位数的整数并存入数组中,对其进行升序排序,再从键盘上任意输入一个要查找的整数,用“折半查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,j,low,high,mid,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
for(j=9;j>i;j--)
if(a[j]>a[j-1]){temp=a[j];a[j]=a[j-1];a[j-1]=temp;}
for(i=0;i<10;i++)cout<cout<}4.编写程序:随机产生10个二位数的整数并存入数组中,再从键盘上任意输入一个要查找的整数,用“顺序查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<cout<<"请输入要查找的数:";cin>>k;for(i=0;i<10;i++)if(a[i]==k){cout<\n";return;}cout<\n";}5.编写程序:随机产生10个二位数的整数并存入数组中,对其进行升序排序,再从键盘上任意输入一个要查找的整数,用“折半查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,j,low,high,mid,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
cout<}4.编写程序:随机产生10个二位数的整数并存入数组中,再从键盘上任意输入一个要查找的整数,用“顺序查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<cout<<"请输入要查找的数:";cin>>k;for(i=0;i<10;i++)if(a[i]==k){cout<\n";return;}cout<\n";}5.编写程序:随机产生10个二位数的整数并存入数组中,对其进行升序排序,再从键盘上任意输入一个要查找的整数,用“折半查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,j,low,high,mid,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
4.编写程序:
随机产生10个二位数的整数并存入数组中,再从键盘上任意输入一个要查找的整数,用“顺序查找法”在数组中进行查找。
{a[i]=rand()%90+10;
cout<cout<cout<<"请输入要查找的数:";cin>>k;for(i=0;i<10;i++)if(a[i]==k){cout<\n";return;}cout<\n";}5.编写程序:随机产生10个二位数的整数并存入数组中,对其进行升序排序,再从键盘上任意输入一个要查找的整数,用“折半查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,j,low,high,mid,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
cout<cout<<"请输入要查找的数:";cin>>k;for(i=0;i<10;i++)if(a[i]==k){cout<\n";return;}cout<\n";}5.编写程序:随机产生10个二位数的整数并存入数组中,对其进行升序排序,再从键盘上任意输入一个要查找的整数,用“折半查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,j,low,high,mid,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
cout<<"请输入要查找的数:
cin>>k;
if(a[i]==k){cout<\n";return;}cout<\n";}5.编写程序:随机产生10个二位数的整数并存入数组中,对其进行升序排序,再从键盘上任意输入一个要查找的整数,用“折半查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,j,low,high,mid,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
\n";return;}
cout<\n";}5.编写程序:随机产生10个二位数的整数并存入数组中,对其进行升序排序,再从键盘上任意输入一个要查找的整数,用“折半查找法”在数组中进行查找。编写程序如下:【答案】#include#include#includevoidmain(){inta[10],i,j,low,high,mid,k;unsignedseed;cout<<"请输入一个随机数种子(无符号整数)=";cin>>seed;srand(seed);cout<<"数组中的内容:";for(i=0;i<10;i++){a[i]=rand()%90+10;cout<cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
5.编写程序:
随机产生10个二位数的整数并存入数组中,对其进行升序排序,再从键盘上任意输入一个要查找的整数,用“折半查找法”在数组中进行查找。
{inta[10],i,j,low,high,mid,k;
cout<cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
cout<for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}cout<<"数组中的内容(排序后):";for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}
cout<<"数组中的内容(排序后):
for(i=0;i<10;i++)cout<cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
cout<cout<<"请输入要查找的数:";cin>>k;for(low=0,high=9;low<=high;){mid=(low+high)/2;if(a[mid]==k){cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
for(low=0,high=9;low<=high;)
{mid=(low+high)/2;
if(a[mid]==k)
{cout<\n";exit(0);}if(k>a[mid])low=mid+1;elsehigh=mid-1;}cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
exit(0);}
if(k>a[mid])low=mid+1;
elsehigh=mid-1;}
cout<\n";}1.编写程序:有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。要求用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p,i,j=0;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
有数组inta[12];找出该数组中的最大元素及其下标、最小元素及其下标。
要求用指针实现。
inta[12],*p,i,j=0;
cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];for(i=0;i<12;i++){if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
for(i=0;i<12;i++)cin>>a[i];
for(i=0;i<12;i++)
if(a[j]j=i;p=&a[j];}cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
j=i;
p=&a[j];
cout<<"themaxnumberisa["<for(i=0;i<12;i++){if(a[j]>a[i])j=i;p=&a[j];}cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
if(a[j]>a[i])
cout<<"theminnumberisa["<}2.编写程序:有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。编写程序如下:【答案】#includevoidmain(){inta[12],*p1,*p2,t,i;cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
有数组inta[12];并从键盘上输入12个整数存入数组a中,然后将数组a中的数据按逆序存放,要求不能借助于其他数组,并用指针实现。
inta[12],*p1,*p2,t,i;
cout<<"pleaseinput12integernumbers"<for(i=0;i<12;i++)cin>>a[i];cout<<"theformernumbersare";for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
cout<<"theformernumbersare";
for(i=0;i<12;i++)cout<cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
cout<for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
for(p1=a,p2=a+11;p1{t=*p1;*p1=*p2;*p2=t;}cout<<"aftertransmation";for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
{t=*p1;*p1=*p2;*p2=t;}
cout<<"aftertransmation";
for(i=0;i<12;i++)cout<cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
cout<}3.编写程序:随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。编写程序如下:【答案】#include#include#includevoidmain(){inta[3][5],b[5][3],*p,*q,i,j,t;unsignedseed;cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
随机产生15个22~88之间的整数并存入矩阵a[3][5]中,求矩阵a[3][5]的转置矩阵b[5][3],并按矩阵形式输出两矩阵,要求用指针实现。
inta[3][5],b[5][3],*p,*q,i,j,t;
cout<<"pleaseinputaseednumber"<cin>>seed;srand(seed);for(i=0;i<3;i++){for(j=0;j<5;j++)a[i][j]=rand()%66+22;}cout<<"a[3][5]=\n";for(p=(int*)a,i=0;i<15;i++){if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
for(i=0;i<3;i++)
for(j=0;j<5;j++)
a[i][j]=rand()%66+22;
cout<<"a[3][5]=\n";
for(p=(int*)a,i=0;i<15;i++)
if(i&&(i%5==0))cout<cout<<*p++<<'\t';}cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
cout<<*p++<<'\t';
cout<for(i=0;i<3;i++){for(j=0;j<5;j++)b[j][i]=a[i][j];}cout<<"b[3][5]=\n";for(q=(int*)b,j=0;j<5;j++){for(i=0;i<3;i++)cout<cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
b[j][i]=a[i][j];
cout<<"b[3][5]=\n";
for(q=(int*)b,j=0;j<5;j++)
cout<
cout<}}1.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name①={"TurboC","VisualC++","BorlandC++"};cout<<"第1遍输出:"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
1.根据给出的运行结果,完善下面程序。
运行结果:
第1遍输出:
TurboC
VisualC++
BorlandC++
第2遍输出:
{inti;
char*name①={"TurboC","VisualC++","BorlandC++"};
cout<<"第1遍输出:
"<for(i=0;i<3;i++)cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
cout<cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
cout<<"第2遍输出:
"<for(i=0;i<3;i++)cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
cout<<②(name+i)<}【答案】①[]【答案】②*2.根据给出的运行结果,完善下面程序。运行结果:第1遍输出:TurboCVisualC++BorlandC++第2遍输出:TurboCVisualC++BorlandC++#includevoidmain(){inti;char*name[]={"TurboC","VisualC++","BorlandC++"};char①p;cout<<"第1遍输出:"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
【答案】①[]
【答案】②*
2.根据给出的运行结果,完善下面程序。
char*name[]={"TurboC","VisualC++","BorlandC++"};
char①p;
"<for(i=0;i<3;i++){p=name+i;//把name[i]的地址赋给pcout<<*p<<"\n";}cout<<"第2遍输出:"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
{p=name+i;//把name[i]的地址赋给p
cout<<*p<<"\n";}
"<for(i=0;i<3;i++)cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
cout<}【答案】①*【答案】②[i]1.函数find()用来判断数组a中的数据是升序、降序或无序。若为升序返回1,若为降序返回2,若为无序返回3。形参n为数组a中有效整数的个数。#includeintfind(inta[],intn){ints,i;if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
【答案】①*
【答案】②[i]
1.函数find()用来判断数组a中的数据是升序、降序或无序。
若为升序返回1,若为降序返回2,若为无序返回3。
形参n为数组a中有效整数的个数。
intfind(inta[],intn)
{ints,i;
if(a[0]elses=2;if(s==1){i=1;while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
elses=2;
if(s==1)
{i=1;
while(i{if(_________②_________){s=3;break;}_________③_________;}}if(s==2)for(i=1;_________④_________;i++)if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
{if(_________②_________){s=3;break;}
_________③_________;}
if(s==2)
for(i=1;_________④_________;i++)
if(a[i]returns;}voidmain(){inta[10],k;for(k=0;k<10;k++)a[k]=2*k;k=find(_________⑥_________,10);switch(k){case1:cout<<“升序\n”;break;case2:cout<<“降序\n”;break;case3:cout<<“无序\n”;}}【答案】①s=1【答案】②a[i]>a[i+]【答案】③break【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
returns;
{inta[10],k;
for(k=0;k<10;k++)a[k]=2*k;
k=find(_________⑥_________,10);
switch(k)
{case1:
cout<<“升序\n”;break;
case2:
cout<<“降序\n”;break;
case3:
cout<<“无序\n”;}
【答案】①s=1
【答案】②a[i]>a[i+]
【答案】③break
【答案】④i【答案】⑤s=3【答案】⑥a2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(charstr[]){charm;inti,j;for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________){m=str[i];str[i]=_________③_________;_________④_________;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(s);cout<<“调用后字符串:”<}【答案】①strlen(str)/2【答案】②j--【答案】③str[j]【答案】④str[j]=m1.参考输出结果,完成填空。#includevoidswap1(intp1,intp2){inttemp=p1;p1=p2;p2=temp;}voidswap2(int&p1,int&p2){inttemp=p1;p1=p2;p2=temp;}voidswap3(int*p1,int*p2){inttemp=*p1;*p1=*p2;*p2=temp;}voidswap4(int*p1,int*p2){int*temp=p1;p1=p2;p2=temp;}voidmain(){inta=3,b=6;swap1(①);cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
【答案】⑤s=3
【答案】⑥a
2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。
voidinverse(charstr[])
{charm;
inti,j;
for(i=0,j=strlen(str)-1;i<_________①_________;i++,_________②_________)
{m=str[i];
str[i]=_________③_________;
_________④_________;}
{chars[100];
cout<<“请输入一行字符:
”;
cin.getline(s,100);
cout<<“调用前字符串:
”<
inverse(s);
cout<<“调用后字符串:
【答案】①strlen(str)/2
【答案】②j--
【答案】③str[j]
【答案】④str[j]=m
1.参考输出结果,完成填空。
voidswap1(intp1,intp2)
{inttemp=p1;p1=p2;p2=temp;}
voidswap2(int&p1,int&p2)
voidswap3(int*p1,int*p2)
{inttemp=*p1;*p1=*p2;*p2=temp;}
voidswap4(int*p1,int*p2)
{int*temp=p1;p1=p2;p2=temp;}
{inta=3,b=6;
swap1(①);
cout<<“a=”<a=3b=6a=3;b=6;swap2(②);cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
a=3b=6
a=3;b=6;
swap2(②);
cout<<“a=”<a=6b=3a=3;b=6;swap3(③);cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
a=6b=3
swap3(③);
cout<<“a=”<a=6b=3a=3;b=6;swap4(④);cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
swap4(④);
cout<<“a=”<a=3b=6}【答案】①a,b【答案】②a,b【答案】③&a,&b【答案】④&a,&b2.下面函数inverse的功能是使一个字符串按逆序存放,请填空。#include#includevoidinverse(char*str){charm;inti,j;for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
【答案】①a,b
【答案】②a,b
【答案】③&a,&b
【答案】④&a,&b
voidinverse(char*str)
for(i=0,j=strlen(①)-1;i{m=*(str+i);*(str+i)=③;④;}}voidmain(){chars[100];cout<<“请输入一行字符:”;cin.getline(s,100);cout<<“调用前字符串:”<inverse(⑤);cout<<“调用后字符串:”<}【答案】①str【答案】②j--【答案】③*(str+j)【答案】④*(str+i)【答案】⑤s3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。例如:输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。统计出字符串中所含整数的个数,并输出这些整数。#includeintcton(char*p1,int*p)//转换函数,返回值是提取数字的个数{intm,n=0;charc;while(①)if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个{②;//将该数字字符转换为一位数字while((c=*p1++)&&c>='0'&&c<='9')m=m*10+(c-48);//将这一串连续的数字字符转换为整数p[n]=m;//将这个转换好的整数存入数组③;//提取出的整数个数增加1}returnn;}voidmain(){inti,n,a[20];charp[100];cout<<"请输入一行带有数字的字符串:";cin.getline(p,100);n=cton(④);cout<<"字符串"<\n";for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
{m=*(str+i);
*(str+i)=③;
④;}
inverse(⑤);
【答案】①str
【答案】③*(str+j)
【答案】④*(str+i)
【答案】⑤s
3.输入一个字符串,串内含有数字和非数字字符,将其中连续的数字串转换为对应的一个整数,依次存放到另一个整型数组b中。
例如:
输入字符串abc2345up345rf78fd945,将2345存放到b[0]、345放入b[1]、…。
统计出字符串中所含整数的个数,并输出这些整数。
intcton(char*p1,int*p)//转换函数,返回值是提取数字的个数
{intm,n=0;
charc;
while(①)
if(c>='0'&&c<='9')//遇到了一串连续数字字符中的第一个
{②;//将该数字字符转换为一位数字
while((c=*p1++)&&c>='0'&&c<='9')
m=m*10+(c-48);//将这一串连续的数字字符转换为整数
p[n]=m;//将这个转换好的整数存入数组
③;//提取出的整数个数增加1
returnn;
{inti,n,a[20];
charp[100];
cout<<"请输入一行带有数字的字符串:
cin.getline(p,100);
n=cton(④);
cout<<"字符串"<
for(i=0;icout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
cout<}【答案】①c=p1++【答案】②m=c-48?;【答案】③n+1【答案】④p,a1.编写程序:1字符串处理函数:char*stringcat(char*s1,constchar*s2);功能:将字符串s2拼接到字符串s1尾部,并将字符串s1返回。②编写main()函数对stringcat()函数进行测试。编写程序如下:【答案】#include#includechar*stringcat(char*s1,constchar*s2){char*p=s1;while(*p++);p--;while(*p++=*s2++);returns1;}voidmain(){chars1[50],s2[20];cout<<"pleaseinputtwostingsofwords\n";cin>>s1>>s2;cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
【答案】①c=p1++
【答案】②m=c-48?
;
【答案】③n+1
【答案】④p,a
1字符串处理函数:
char*stringcat(char*s1,constchar*s2);
功能:
将字符串s2拼接到字符串s1尾部,并将字符串s1返回。
②编写main()函数对stringcat()函数进行测试。
char*stringcat(char*s1,constchar*s2)
char*p=s1;
while(*p++);
p--;
while(*p++=*s2++);
returns1;
chars1[50],s2[20];
cout<<"pleaseinputtwostingsofwords\n";
cin>>s1>>s2;
cout<<"theyare\n"<cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
cout<<"拼接后"<}2.编写程序:①字符串处理函数:intstringlen(constchar*s);功能:求字符串s中所含字符的个数,并将该个数返回。②编写main()函数对stringlen()函数进行测试。编写程序如下:【答案】#include#includeintstringlen(constchar*s){constchar*p=s;intn=0;while(*p++)n++;returnn;}voidmain(){chars[50];cout<<"请输入一行语句\n";cin>>s;cout<<"您输入的是:\n"<cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
①字符串处理函数:
intstringlen(constchar*s);
求字符串s中所含字符的个数,并将该个数返回。
②编写main()函数对stringlen()函数进行测试。
intstringlen(constchar*s)
constchar*p=s;
intn=0;
while(*p++)n++;
chars[50];
cout<<"请输入一行语句\n";
cin>>s;
cout<<"您输入的是:
\n"<
cout<<"它们的长度是"<}3.编写程序:①字符串处理函数:char*reverse(char*s);功能:反置字符串s中的字符,并将反置后的字符串s返回。②编写main()函数对reverse()函数进行测试。编写程序如下:【答案】#include
char*reverse(char*s);
反置字符串s中的字符,并将反置后的字符串s返回。
②编写main()函数对reverse()函数进行测试。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1