《C++语言程序设计》自检自测题三及答案.docx
《《C++语言程序设计》自检自测题三及答案.docx》由会员分享,可在线阅读,更多相关《《C++语言程序设计》自检自测题三及答案.docx(13页珍藏版)》请在冰豆网上搜索。
《C++语言程序设计》自检自测题三及答案
《C++语言程序设计》自检自测题(三)及答案
一、给出下列程序运行后的输出结果
1.
#include
voidmain(){
ints1=0,s2=0;
for(inti=0;i<10;i++)
if(i%2)s1+=i;
elses2+=i;
cout<}2.#includevoidmain(){inta[8]={8,19,26,15,6,24,27,18};inti2=0,i3=0;for(inti=0;i<8;i++)if(a[i]%2==0)i2++;elseif(a[i]%3==0)i3++;cout<}3.#includevoidmain(){inta[3][4]={{1,2,7,8},{5,6,11,12},{9,20,3,4}};intm=a[0][0];intii=0,jj=0;for(inti=0;i<3;i++)for(intj=0;j<4;j++)if(a[i][j]>m){m=a[i][j];ii=i;jj=j;}cout<}4.#includevoidmain(){inta=10,b=15;cout<{a*=3;intb=a+20;cout<}cout<}5.#includevoidmain(){intx=20,y=40,*p;p=&x;cout<<*p<<’’;*p=x+10;p=&y;cout<<*p<*p=y+20;cout<}6.#includevoidSB(charch){switch(ch){case’A’:case’a’:cout<<”well!”;break;case’B’:case’b’:cout<<”good!”;break;case’C’:case’c’:cout<<”pass!”;break;default:cout<<”bad!”;break;}cout<}voidmain(){chara[6]=”Abcaf”;for(inti=0;a[i];i++)SB(a[i]);}7.#includevoidmain(){inta[8]={36,25,48,14,55,40,72,40};intb1,b2;b1=b2=a[0];for(inti=1;i<8;i++)if(a[i]>b1){if(b1>b2)b2=b1;b1=a[i];}cout<}8.#includevoidmain(){inta[8]={3,5,7,9,11,13,15,17};int*p=1;for(inti=0;i<8;i++){cout<if((i+1)%3==0)cout<}}9.#includevoidLG(int*&a,int&m){a=newint[m];int*p=a;for(inti=0;i*p++=i*i;}voidmain(){int*b,n=5;LG(b,n);for(inti=0;icout<cout<delete[]b;} 10.#include#includestructWorker{charname[5];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx;char*t=”WeiRong”;intd=45;floatf=1235;strcpy(x.name,t);x.age=d;x.pay=f;cout<}11.#includevoidmain(){ints=0;for(inti=1;i<=5;i++)s+=i*i;cout<<”s=”<}12.#includevoidmain(){ints=0;for(inti=1;;i++){if(s>50)break;if(i%2==0)s+=i;}cout<<”i,s=”<}13.#includeintLB(int*a,intn){ints=1;for(inti=0;is*=*a++;returns;}voidmain(){inta[]={1,2,3,4,5,6,7,8};cout<cout<}14.#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx{“wangfong”,43,640};Workery,*p;y=x;p=&x;cout<cout<name<<’’<age*2<<’’<pay+100<}二、写出下列每个函数的功能1.#includeintS(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}2.#includeboolSG(intx){//x为大于等于2的整数inta=int(sqrt(x));//取x的平方根inti=2;while(i<=a){if(x%i==0)break;i++;}if(i<=a)return0;elsereturn1;}3.//structWorker{//charname[15];//姓名//intage;//年龄//floatpay;//工资};voidQ(Workera[],intn){for(inti=0;icin>>a[i].name>>a[i].age>>a[i].pay;}4.#include#includevoidJD(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件//假定该文件保存着一批整数{ifstreamfin(fname,ios::in|ios::nocreate\ios::binary)intx,s=0,n=0;while(fin.read((char*)&x,sizeof(x))){s+=x;n++;}cout<fin.close();}5.floatFI(intn){//n为大于等于1的整数floatx,y=0;do{cin>>x;n--;y+=x*x;}while(n>0);returny;}6.#includevoidWA(inta[],intn){for(inti=0;iintk=i;for(intj=i+1;jif(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
}
2.
inta[8]={8,19,26,15,6,24,27,18};
inti2=0,i3=0;
for(inti=0;i<8;i++)
if(a[i]%2==0)i2++;
elseif(a[i]%3==0)i3++;
cout<}3.#includevoidmain(){inta[3][4]={{1,2,7,8},{5,6,11,12},{9,20,3,4}};intm=a[0][0];intii=0,jj=0;for(inti=0;i<3;i++)for(intj=0;j<4;j++)if(a[i][j]>m){m=a[i][j];ii=i;jj=j;}cout<}4.#includevoidmain(){inta=10,b=15;cout<{a*=3;intb=a+20;cout<}cout<}5.#includevoidmain(){intx=20,y=40,*p;p=&x;cout<<*p<<’’;*p=x+10;p=&y;cout<<*p<*p=y+20;cout<}6.#includevoidSB(charch){switch(ch){case’A’:case’a’:cout<<”well!”;break;case’B’:case’b’:cout<<”good!”;break;case’C’:case’c’:cout<<”pass!”;break;default:cout<<”bad!”;break;}cout<}voidmain(){chara[6]=”Abcaf”;for(inti=0;a[i];i++)SB(a[i]);}7.#includevoidmain(){inta[8]={36,25,48,14,55,40,72,40};intb1,b2;b1=b2=a[0];for(inti=1;i<8;i++)if(a[i]>b1){if(b1>b2)b2=b1;b1=a[i];}cout<}8.#includevoidmain(){inta[8]={3,5,7,9,11,13,15,17};int*p=1;for(inti=0;i<8;i++){cout<if((i+1)%3==0)cout<}}9.#includevoidLG(int*&a,int&m){a=newint[m];int*p=a;for(inti=0;i*p++=i*i;}voidmain(){int*b,n=5;LG(b,n);for(inti=0;icout<cout<delete[]b;} 10.#include#includestructWorker{charname[5];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx;char*t=”WeiRong”;intd=45;floatf=1235;strcpy(x.name,t);x.age=d;x.pay=f;cout<}11.#includevoidmain(){ints=0;for(inti=1;i<=5;i++)s+=i*i;cout<<”s=”<}12.#includevoidmain(){ints=0;for(inti=1;;i++){if(s>50)break;if(i%2==0)s+=i;}cout<<”i,s=”<}13.#includeintLB(int*a,intn){ints=1;for(inti=0;is*=*a++;returns;}voidmain(){inta[]={1,2,3,4,5,6,7,8};cout<cout<}14.#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx{“wangfong”,43,640};Workery,*p;y=x;p=&x;cout<cout<name<<’’<age*2<<’’<pay+100<}二、写出下列每个函数的功能1.#includeintS(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}2.#includeboolSG(intx){//x为大于等于2的整数inta=int(sqrt(x));//取x的平方根inti=2;while(i<=a){if(x%i==0)break;i++;}if(i<=a)return0;elsereturn1;}3.//structWorker{//charname[15];//姓名//intage;//年龄//floatpay;//工资};voidQ(Workera[],intn){for(inti=0;icin>>a[i].name>>a[i].age>>a[i].pay;}4.#include#includevoidJD(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件//假定该文件保存着一批整数{ifstreamfin(fname,ios::in|ios::nocreate\ios::binary)intx,s=0,n=0;while(fin.read((char*)&x,sizeof(x))){s+=x;n++;}cout<fin.close();}5.floatFI(intn){//n为大于等于1的整数floatx,y=0;do{cin>>x;n--;y+=x*x;}while(n>0);returny;}6.#includevoidWA(inta[],intn){for(inti=0;iintk=i;for(intj=i+1;jif(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
3.
inta[3][4]={{1,2,7,8},{5,6,11,12},{9,20,3,4}};
intm=a[0][0];
intii=0,jj=0;
for(inti=0;i<3;i++)
for(intj=0;j<4;j++)
if(a[i][j]>m){m=a[i][j];ii=i;jj=j;}
cout<}4.#includevoidmain(){inta=10,b=15;cout<{a*=3;intb=a+20;cout<}cout<}5.#includevoidmain(){intx=20,y=40,*p;p=&x;cout<<*p<<’’;*p=x+10;p=&y;cout<<*p<*p=y+20;cout<}6.#includevoidSB(charch){switch(ch){case’A’:case’a’:cout<<”well!”;break;case’B’:case’b’:cout<<”good!”;break;case’C’:case’c’:cout<<”pass!”;break;default:cout<<”bad!”;break;}cout<}voidmain(){chara[6]=”Abcaf”;for(inti=0;a[i];i++)SB(a[i]);}7.#includevoidmain(){inta[8]={36,25,48,14,55,40,72,40};intb1,b2;b1=b2=a[0];for(inti=1;i<8;i++)if(a[i]>b1){if(b1>b2)b2=b1;b1=a[i];}cout<}8.#includevoidmain(){inta[8]={3,5,7,9,11,13,15,17};int*p=1;for(inti=0;i<8;i++){cout<if((i+1)%3==0)cout<}}9.#includevoidLG(int*&a,int&m){a=newint[m];int*p=a;for(inti=0;i*p++=i*i;}voidmain(){int*b,n=5;LG(b,n);for(inti=0;icout<cout<delete[]b;} 10.#include#includestructWorker{charname[5];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx;char*t=”WeiRong”;intd=45;floatf=1235;strcpy(x.name,t);x.age=d;x.pay=f;cout<}11.#includevoidmain(){ints=0;for(inti=1;i<=5;i++)s+=i*i;cout<<”s=”<}12.#includevoidmain(){ints=0;for(inti=1;;i++){if(s>50)break;if(i%2==0)s+=i;}cout<<”i,s=”<}13.#includeintLB(int*a,intn){ints=1;for(inti=0;is*=*a++;returns;}voidmain(){inta[]={1,2,3,4,5,6,7,8};cout<cout<}14.#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx{“wangfong”,43,640};Workery,*p;y=x;p=&x;cout<cout<name<<’’<age*2<<’’<pay+100<}二、写出下列每个函数的功能1.#includeintS(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}2.#includeboolSG(intx){//x为大于等于2的整数inta=int(sqrt(x));//取x的平方根inti=2;while(i<=a){if(x%i==0)break;i++;}if(i<=a)return0;elsereturn1;}3.//structWorker{//charname[15];//姓名//intage;//年龄//floatpay;//工资};voidQ(Workera[],intn){for(inti=0;icin>>a[i].name>>a[i].age>>a[i].pay;}4.#include#includevoidJD(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件//假定该文件保存着一批整数{ifstreamfin(fname,ios::in|ios::nocreate\ios::binary)intx,s=0,n=0;while(fin.read((char*)&x,sizeof(x))){s+=x;n++;}cout<fin.close();}5.floatFI(intn){//n为大于等于1的整数floatx,y=0;do{cin>>x;n--;y+=x*x;}while(n>0);returny;}6.#includevoidWA(inta[],intn){for(inti=0;iintk=i;for(intj=i+1;jif(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
4.
inta=10,b=15;
cout<{a*=3;intb=a+20;cout<}cout<}5.#includevoidmain(){intx=20,y=40,*p;p=&x;cout<<*p<<’’;*p=x+10;p=&y;cout<<*p<*p=y+20;cout<}6.#includevoidSB(charch){switch(ch){case’A’:case’a’:cout<<”well!”;break;case’B’:case’b’:cout<<”good!”;break;case’C’:case’c’:cout<<”pass!”;break;default:cout<<”bad!”;break;}cout<}voidmain(){chara[6]=”Abcaf”;for(inti=0;a[i];i++)SB(a[i]);}7.#includevoidmain(){inta[8]={36,25,48,14,55,40,72,40};intb1,b2;b1=b2=a[0];for(inti=1;i<8;i++)if(a[i]>b1){if(b1>b2)b2=b1;b1=a[i];}cout<}8.#includevoidmain(){inta[8]={3,5,7,9,11,13,15,17};int*p=1;for(inti=0;i<8;i++){cout<if((i+1)%3==0)cout<}}9.#includevoidLG(int*&a,int&m){a=newint[m];int*p=a;for(inti=0;i*p++=i*i;}voidmain(){int*b,n=5;LG(b,n);for(inti=0;icout<cout<delete[]b;} 10.#include#includestructWorker{charname[5];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx;char*t=”WeiRong”;intd=45;floatf=1235;strcpy(x.name,t);x.age=d;x.pay=f;cout<}11.#includevoidmain(){ints=0;for(inti=1;i<=5;i++)s+=i*i;cout<<”s=”<}12.#includevoidmain(){ints=0;for(inti=1;;i++){if(s>50)break;if(i%2==0)s+=i;}cout<<”i,s=”<}13.#includeintLB(int*a,intn){ints=1;for(inti=0;is*=*a++;returns;}voidmain(){inta[]={1,2,3,4,5,6,7,8};cout<cout<}14.#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx{“wangfong”,43,640};Workery,*p;y=x;p=&x;cout<cout<name<<’’<age*2<<’’<pay+100<}二、写出下列每个函数的功能1.#includeintS(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}2.#includeboolSG(intx){//x为大于等于2的整数inta=int(sqrt(x));//取x的平方根inti=2;while(i<=a){if(x%i==0)break;i++;}if(i<=a)return0;elsereturn1;}3.//structWorker{//charname[15];//姓名//intage;//年龄//floatpay;//工资};voidQ(Workera[],intn){for(inti=0;icin>>a[i].name>>a[i].age>>a[i].pay;}4.#include#includevoidJD(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件//假定该文件保存着一批整数{ifstreamfin(fname,ios::in|ios::nocreate\ios::binary)intx,s=0,n=0;while(fin.read((char*)&x,sizeof(x))){s+=x;n++;}cout<fin.close();}5.floatFI(intn){//n为大于等于1的整数floatx,y=0;do{cin>>x;n--;y+=x*x;}while(n>0);returny;}6.#includevoidWA(inta[],intn){for(inti=0;iintk=i;for(intj=i+1;jif(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
{a*=3;
intb=a+20;
cout<}cout<}5.#includevoidmain(){intx=20,y=40,*p;p=&x;cout<<*p<<’’;*p=x+10;p=&y;cout<<*p<*p=y+20;cout<}6.#includevoidSB(charch){switch(ch){case’A’:case’a’:cout<<”well!”;break;case’B’:case’b’:cout<<”good!”;break;case’C’:case’c’:cout<<”pass!”;break;default:cout<<”bad!”;break;}cout<}voidmain(){chara[6]=”Abcaf”;for(inti=0;a[i];i++)SB(a[i]);}7.#includevoidmain(){inta[8]={36,25,48,14,55,40,72,40};intb1,b2;b1=b2=a[0];for(inti=1;i<8;i++)if(a[i]>b1){if(b1>b2)b2=b1;b1=a[i];}cout<}8.#includevoidmain(){inta[8]={3,5,7,9,11,13,15,17};int*p=1;for(inti=0;i<8;i++){cout<if((i+1)%3==0)cout<}}9.#includevoidLG(int*&a,int&m){a=newint[m];int*p=a;for(inti=0;i*p++=i*i;}voidmain(){int*b,n=5;LG(b,n);for(inti=0;icout<cout<delete[]b;} 10.#include#includestructWorker{charname[5];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx;char*t=”WeiRong”;intd=45;floatf=1235;strcpy(x.name,t);x.age=d;x.pay=f;cout<}11.#includevoidmain(){ints=0;for(inti=1;i<=5;i++)s+=i*i;cout<<”s=”<}12.#includevoidmain(){ints=0;for(inti=1;;i++){if(s>50)break;if(i%2==0)s+=i;}cout<<”i,s=”<}13.#includeintLB(int*a,intn){ints=1;for(inti=0;is*=*a++;returns;}voidmain(){inta[]={1,2,3,4,5,6,7,8};cout<cout<}14.#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx{“wangfong”,43,640};Workery,*p;y=x;p=&x;cout<cout<name<<’’<age*2<<’’<pay+100<}二、写出下列每个函数的功能1.#includeintS(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}2.#includeboolSG(intx){//x为大于等于2的整数inta=int(sqrt(x));//取x的平方根inti=2;while(i<=a){if(x%i==0)break;i++;}if(i<=a)return0;elsereturn1;}3.//structWorker{//charname[15];//姓名//intage;//年龄//floatpay;//工资};voidQ(Workera[],intn){for(inti=0;icin>>a[i].name>>a[i].age>>a[i].pay;}4.#include#includevoidJD(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件//假定该文件保存着一批整数{ifstreamfin(fname,ios::in|ios::nocreate\ios::binary)intx,s=0,n=0;while(fin.read((char*)&x,sizeof(x))){s+=x;n++;}cout<fin.close();}5.floatFI(intn){//n为大于等于1的整数floatx,y=0;do{cin>>x;n--;y+=x*x;}while(n>0);returny;}6.#includevoidWA(inta[],intn){for(inti=0;iintk=i;for(intj=i+1;jif(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
cout<}5.#includevoidmain(){intx=20,y=40,*p;p=&x;cout<<*p<<’’;*p=x+10;p=&y;cout<<*p<*p=y+20;cout<}6.#includevoidSB(charch){switch(ch){case’A’:case’a’:cout<<”well!”;break;case’B’:case’b’:cout<<”good!”;break;case’C’:case’c’:cout<<”pass!”;break;default:cout<<”bad!”;break;}cout<}voidmain(){chara[6]=”Abcaf”;for(inti=0;a[i];i++)SB(a[i]);}7.#includevoidmain(){inta[8]={36,25,48,14,55,40,72,40};intb1,b2;b1=b2=a[0];for(inti=1;i<8;i++)if(a[i]>b1){if(b1>b2)b2=b1;b1=a[i];}cout<}8.#includevoidmain(){inta[8]={3,5,7,9,11,13,15,17};int*p=1;for(inti=0;i<8;i++){cout<if((i+1)%3==0)cout<}}9.#includevoidLG(int*&a,int&m){a=newint[m];int*p=a;for(inti=0;i*p++=i*i;}voidmain(){int*b,n=5;LG(b,n);for(inti=0;icout<cout<delete[]b;} 10.#include#includestructWorker{charname[5];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx;char*t=”WeiRong”;intd=45;floatf=1235;strcpy(x.name,t);x.age=d;x.pay=f;cout<}11.#includevoidmain(){ints=0;for(inti=1;i<=5;i++)s+=i*i;cout<<”s=”<}12.#includevoidmain(){ints=0;for(inti=1;;i++){if(s>50)break;if(i%2==0)s+=i;}cout<<”i,s=”<}13.#includeintLB(int*a,intn){ints=1;for(inti=0;is*=*a++;returns;}voidmain(){inta[]={1,2,3,4,5,6,7,8};cout<cout<}14.#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx{“wangfong”,43,640};Workery,*p;y=x;p=&x;cout<cout<name<<’’<age*2<<’’<pay+100<}二、写出下列每个函数的功能1.#includeintS(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}2.#includeboolSG(intx){//x为大于等于2的整数inta=int(sqrt(x));//取x的平方根inti=2;while(i<=a){if(x%i==0)break;i++;}if(i<=a)return0;elsereturn1;}3.//structWorker{//charname[15];//姓名//intage;//年龄//floatpay;//工资};voidQ(Workera[],intn){for(inti=0;icin>>a[i].name>>a[i].age>>a[i].pay;}4.#include#includevoidJD(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件//假定该文件保存着一批整数{ifstreamfin(fname,ios::in|ios::nocreate\ios::binary)intx,s=0,n=0;while(fin.read((char*)&x,sizeof(x))){s+=x;n++;}cout<fin.close();}5.floatFI(intn){//n为大于等于1的整数floatx,y=0;do{cin>>x;n--;y+=x*x;}while(n>0);returny;}6.#includevoidWA(inta[],intn){for(inti=0;iintk=i;for(intj=i+1;jif(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
5.
intx=20,y=40,*p;
p=&x;
cout<<*p<<’’;
*p=x+10;
p=&y;
cout<<*p<*p=y+20;cout<}6.#includevoidSB(charch){switch(ch){case’A’:case’a’:cout<<”well!”;break;case’B’:case’b’:cout<<”good!”;break;case’C’:case’c’:cout<<”pass!”;break;default:cout<<”bad!”;break;}cout<}voidmain(){chara[6]=”Abcaf”;for(inti=0;a[i];i++)SB(a[i]);}7.#includevoidmain(){inta[8]={36,25,48,14,55,40,72,40};intb1,b2;b1=b2=a[0];for(inti=1;i<8;i++)if(a[i]>b1){if(b1>b2)b2=b1;b1=a[i];}cout<}8.#includevoidmain(){inta[8]={3,5,7,9,11,13,15,17};int*p=1;for(inti=0;i<8;i++){cout<if((i+1)%3==0)cout<}}9.#includevoidLG(int*&a,int&m){a=newint[m];int*p=a;for(inti=0;i*p++=i*i;}voidmain(){int*b,n=5;LG(b,n);for(inti=0;icout<cout<delete[]b;} 10.#include#includestructWorker{charname[5];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx;char*t=”WeiRong”;intd=45;floatf=1235;strcpy(x.name,t);x.age=d;x.pay=f;cout<}11.#includevoidmain(){ints=0;for(inti=1;i<=5;i++)s+=i*i;cout<<”s=”<}12.#includevoidmain(){ints=0;for(inti=1;;i++){if(s>50)break;if(i%2==0)s+=i;}cout<<”i,s=”<}13.#includeintLB(int*a,intn){ints=1;for(inti=0;is*=*a++;returns;}voidmain(){inta[]={1,2,3,4,5,6,7,8};cout<cout<}14.#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx{“wangfong”,43,640};Workery,*p;y=x;p=&x;cout<cout<name<<’’<age*2<<’’<pay+100<}二、写出下列每个函数的功能1.#includeintS(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}2.#includeboolSG(intx){//x为大于等于2的整数inta=int(sqrt(x));//取x的平方根inti=2;while(i<=a){if(x%i==0)break;i++;}if(i<=a)return0;elsereturn1;}3.//structWorker{//charname[15];//姓名//intage;//年龄//floatpay;//工资};voidQ(Workera[],intn){for(inti=0;icin>>a[i].name>>a[i].age>>a[i].pay;}4.#include#includevoidJD(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件//假定该文件保存着一批整数{ifstreamfin(fname,ios::in|ios::nocreate\ios::binary)intx,s=0,n=0;while(fin.read((char*)&x,sizeof(x))){s+=x;n++;}cout<fin.close();}5.floatFI(intn){//n为大于等于1的整数floatx,y=0;do{cin>>x;n--;y+=x*x;}while(n>0);returny;}6.#includevoidWA(inta[],intn){for(inti=0;iintk=i;for(intj=i+1;jif(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
*p=y+20;
cout<}6.#includevoidSB(charch){switch(ch){case’A’:case’a’:cout<<”well!”;break;case’B’:case’b’:cout<<”good!”;break;case’C’:case’c’:cout<<”pass!”;break;default:cout<<”bad!”;break;}cout<}voidmain(){chara[6]=”Abcaf”;for(inti=0;a[i];i++)SB(a[i]);}7.#includevoidmain(){inta[8]={36,25,48,14,55,40,72,40};intb1,b2;b1=b2=a[0];for(inti=1;i<8;i++)if(a[i]>b1){if(b1>b2)b2=b1;b1=a[i];}cout<}8.#includevoidmain(){inta[8]={3,5,7,9,11,13,15,17};int*p=1;for(inti=0;i<8;i++){cout<if((i+1)%3==0)cout<}}9.#includevoidLG(int*&a,int&m){a=newint[m];int*p=a;for(inti=0;i*p++=i*i;}voidmain(){int*b,n=5;LG(b,n);for(inti=0;icout<cout<delete[]b;} 10.#include#includestructWorker{charname[5];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx;char*t=”WeiRong”;intd=45;floatf=1235;strcpy(x.name,t);x.age=d;x.pay=f;cout<}11.#includevoidmain(){ints=0;for(inti=1;i<=5;i++)s+=i*i;cout<<”s=”<}12.#includevoidmain(){ints=0;for(inti=1;;i++){if(s>50)break;if(i%2==0)s+=i;}cout<<”i,s=”<}13.#includeintLB(int*a,intn){ints=1;for(inti=0;is*=*a++;returns;}voidmain(){inta[]={1,2,3,4,5,6,7,8};cout<cout<}14.#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx{“wangfong”,43,640};Workery,*p;y=x;p=&x;cout<cout<name<<’’<age*2<<’’<pay+100<}二、写出下列每个函数的功能1.#includeintS(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}2.#includeboolSG(intx){//x为大于等于2的整数inta=int(sqrt(x));//取x的平方根inti=2;while(i<=a){if(x%i==0)break;i++;}if(i<=a)return0;elsereturn1;}3.//structWorker{//charname[15];//姓名//intage;//年龄//floatpay;//工资};voidQ(Workera[],intn){for(inti=0;icin>>a[i].name>>a[i].age>>a[i].pay;}4.#include#includevoidJD(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件//假定该文件保存着一批整数{ifstreamfin(fname,ios::in|ios::nocreate\ios::binary)intx,s=0,n=0;while(fin.read((char*)&x,sizeof(x))){s+=x;n++;}cout<fin.close();}5.floatFI(intn){//n为大于等于1的整数floatx,y=0;do{cin>>x;n--;y+=x*x;}while(n>0);returny;}6.#includevoidWA(inta[],intn){for(inti=0;iintk=i;for(intj=i+1;jif(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
6.
voidSB(charch){
switch(ch){
case’A’:
case’a’:
cout<<”well!
”;break;
case’B’:
case’b’:
cout<<”good!
case’C’:
case’c’:
cout<<”pass!
default:
cout<<”bad!
cout<}voidmain(){chara[6]=”Abcaf”;for(inti=0;a[i];i++)SB(a[i]);}7.#includevoidmain(){inta[8]={36,25,48,14,55,40,72,40};intb1,b2;b1=b2=a[0];for(inti=1;i<8;i++)if(a[i]>b1){if(b1>b2)b2=b1;b1=a[i];}cout<}8.#includevoidmain(){inta[8]={3,5,7,9,11,13,15,17};int*p=1;for(inti=0;i<8;i++){cout<if((i+1)%3==0)cout<}}9.#includevoidLG(int*&a,int&m){a=newint[m];int*p=a;for(inti=0;i*p++=i*i;}voidmain(){int*b,n=5;LG(b,n);for(inti=0;icout<cout<delete[]b;} 10.#include#includestructWorker{charname[5];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx;char*t=”WeiRong”;intd=45;floatf=1235;strcpy(x.name,t);x.age=d;x.pay=f;cout<}11.#includevoidmain(){ints=0;for(inti=1;i<=5;i++)s+=i*i;cout<<”s=”<}12.#includevoidmain(){ints=0;for(inti=1;;i++){if(s>50)break;if(i%2==0)s+=i;}cout<<”i,s=”<}13.#includeintLB(int*a,intn){ints=1;for(inti=0;is*=*a++;returns;}voidmain(){inta[]={1,2,3,4,5,6,7,8};cout<cout<}14.#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx{“wangfong”,43,640};Workery,*p;y=x;p=&x;cout<cout<name<<’’<age*2<<’’<pay+100<}二、写出下列每个函数的功能1.#includeintS(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}2.#includeboolSG(intx){//x为大于等于2的整数inta=int(sqrt(x));//取x的平方根inti=2;while(i<=a){if(x%i==0)break;i++;}if(i<=a)return0;elsereturn1;}3.//structWorker{//charname[15];//姓名//intage;//年龄//floatpay;//工资};voidQ(Workera[],intn){for(inti=0;icin>>a[i].name>>a[i].age>>a[i].pay;}4.#include#includevoidJD(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件//假定该文件保存着一批整数{ifstreamfin(fname,ios::in|ios::nocreate\ios::binary)intx,s=0,n=0;while(fin.read((char*)&x,sizeof(x))){s+=x;n++;}cout<fin.close();}5.floatFI(intn){//n为大于等于1的整数floatx,y=0;do{cin>>x;n--;y+=x*x;}while(n>0);returny;}6.#includevoidWA(inta[],intn){for(inti=0;iintk=i;for(intj=i+1;jif(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
chara[6]=”Abcaf”;
for(inti=0;a[i];i++)SB(a[i]);
7.
inta[8]={36,25,48,14,55,40,72,40};
intb1,b2;
b1=b2=a[0];
for(inti=1;i<8;i++)
if(a[i]>b1){
if(b1>b2)b2=b1;
b1=a[i];
cout<}8.#includevoidmain(){inta[8]={3,5,7,9,11,13,15,17};int*p=1;for(inti=0;i<8;i++){cout<if((i+1)%3==0)cout<}}9.#includevoidLG(int*&a,int&m){a=newint[m];int*p=a;for(inti=0;i*p++=i*i;}voidmain(){int*b,n=5;LG(b,n);for(inti=0;icout<cout<delete[]b;} 10.#include#includestructWorker{charname[5];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx;char*t=”WeiRong”;intd=45;floatf=1235;strcpy(x.name,t);x.age=d;x.pay=f;cout<}11.#includevoidmain(){ints=0;for(inti=1;i<=5;i++)s+=i*i;cout<<”s=”<}12.#includevoidmain(){ints=0;for(inti=1;;i++){if(s>50)break;if(i%2==0)s+=i;}cout<<”i,s=”<}13.#includeintLB(int*a,intn){ints=1;for(inti=0;is*=*a++;returns;}voidmain(){inta[]={1,2,3,4,5,6,7,8};cout<cout<}14.#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx{“wangfong”,43,640};Workery,*p;y=x;p=&x;cout<cout<name<<’’<age*2<<’’<pay+100<}二、写出下列每个函数的功能1.#includeintS(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}2.#includeboolSG(intx){//x为大于等于2的整数inta=int(sqrt(x));//取x的平方根inti=2;while(i<=a){if(x%i==0)break;i++;}if(i<=a)return0;elsereturn1;}3.//structWorker{//charname[15];//姓名//intage;//年龄//floatpay;//工资};voidQ(Workera[],intn){for(inti=0;icin>>a[i].name>>a[i].age>>a[i].pay;}4.#include#includevoidJD(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件//假定该文件保存着一批整数{ifstreamfin(fname,ios::in|ios::nocreate\ios::binary)intx,s=0,n=0;while(fin.read((char*)&x,sizeof(x))){s+=x;n++;}cout<fin.close();}5.floatFI(intn){//n为大于等于1的整数floatx,y=0;do{cin>>x;n--;y+=x*x;}while(n>0);returny;}6.#includevoidWA(inta[],intn){for(inti=0;iintk=i;for(intj=i+1;jif(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
8.
inta[8]={3,5,7,9,11,13,15,17};
int*p=1;
for(inti=0;i<8;i++){
cout<if((i+1)%3==0)cout<}}9.#includevoidLG(int*&a,int&m){a=newint[m];int*p=a;for(inti=0;i*p++=i*i;}voidmain(){int*b,n=5;LG(b,n);for(inti=0;icout<cout<delete[]b;} 10.#include#includestructWorker{charname[5];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx;char*t=”WeiRong”;intd=45;floatf=1235;strcpy(x.name,t);x.age=d;x.pay=f;cout<}11.#includevoidmain(){ints=0;for(inti=1;i<=5;i++)s+=i*i;cout<<”s=”<}12.#includevoidmain(){ints=0;for(inti=1;;i++){if(s>50)break;if(i%2==0)s+=i;}cout<<”i,s=”<}13.#includeintLB(int*a,intn){ints=1;for(inti=0;is*=*a++;returns;}voidmain(){inta[]={1,2,3,4,5,6,7,8};cout<cout<}14.#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx{“wangfong”,43,640};Workery,*p;y=x;p=&x;cout<cout<name<<’’<age*2<<’’<pay+100<}二、写出下列每个函数的功能1.#includeintS(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}2.#includeboolSG(intx){//x为大于等于2的整数inta=int(sqrt(x));//取x的平方根inti=2;while(i<=a){if(x%i==0)break;i++;}if(i<=a)return0;elsereturn1;}3.//structWorker{//charname[15];//姓名//intage;//年龄//floatpay;//工资};voidQ(Workera[],intn){for(inti=0;icin>>a[i].name>>a[i].age>>a[i].pay;}4.#include#includevoidJD(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件//假定该文件保存着一批整数{ifstreamfin(fname,ios::in|ios::nocreate\ios::binary)intx,s=0,n=0;while(fin.read((char*)&x,sizeof(x))){s+=x;n++;}cout<fin.close();}5.floatFI(intn){//n为大于等于1的整数floatx,y=0;do{cin>>x;n--;y+=x*x;}while(n>0);returny;}6.#includevoidWA(inta[],intn){for(inti=0;iintk=i;for(intj=i+1;jif(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
if((i+1)%3==0)cout<}}9.#includevoidLG(int*&a,int&m){a=newint[m];int*p=a;for(inti=0;i*p++=i*i;}voidmain(){int*b,n=5;LG(b,n);for(inti=0;icout<cout<delete[]b;} 10.#include#includestructWorker{charname[5];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx;char*t=”WeiRong”;intd=45;floatf=1235;strcpy(x.name,t);x.age=d;x.pay=f;cout<}11.#includevoidmain(){ints=0;for(inti=1;i<=5;i++)s+=i*i;cout<<”s=”<}12.#includevoidmain(){ints=0;for(inti=1;;i++){if(s>50)break;if(i%2==0)s+=i;}cout<<”i,s=”<}13.#includeintLB(int*a,intn){ints=1;for(inti=0;is*=*a++;returns;}voidmain(){inta[]={1,2,3,4,5,6,7,8};cout<cout<}14.#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx{“wangfong”,43,640};Workery,*p;y=x;p=&x;cout<cout<name<<’’<age*2<<’’<pay+100<}二、写出下列每个函数的功能1.#includeintS(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}2.#includeboolSG(intx){//x为大于等于2的整数inta=int(sqrt(x));//取x的平方根inti=2;while(i<=a){if(x%i==0)break;i++;}if(i<=a)return0;elsereturn1;}3.//structWorker{//charname[15];//姓名//intage;//年龄//floatpay;//工资};voidQ(Workera[],intn){for(inti=0;icin>>a[i].name>>a[i].age>>a[i].pay;}4.#include#includevoidJD(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件//假定该文件保存着一批整数{ifstreamfin(fname,ios::in|ios::nocreate\ios::binary)intx,s=0,n=0;while(fin.read((char*)&x,sizeof(x))){s+=x;n++;}cout<fin.close();}5.floatFI(intn){//n为大于等于1的整数floatx,y=0;do{cin>>x;n--;y+=x*x;}while(n>0);returny;}6.#includevoidWA(inta[],intn){for(inti=0;iintk=i;for(intj=i+1;jif(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
9.
voidLG(int*&a,int&m){
a=newint[m];
int*p=a;
for(inti=0;i*p++=i*i;}voidmain(){int*b,n=5;LG(b,n);for(inti=0;icout<cout<delete[]b;} 10.#include#includestructWorker{charname[5];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx;char*t=”WeiRong”;intd=45;floatf=1235;strcpy(x.name,t);x.age=d;x.pay=f;cout<}11.#includevoidmain(){ints=0;for(inti=1;i<=5;i++)s+=i*i;cout<<”s=”<}12.#includevoidmain(){ints=0;for(inti=1;;i++){if(s>50)break;if(i%2==0)s+=i;}cout<<”i,s=”<}13.#includeintLB(int*a,intn){ints=1;for(inti=0;is*=*a++;returns;}voidmain(){inta[]={1,2,3,4,5,6,7,8};cout<cout<}14.#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx{“wangfong”,43,640};Workery,*p;y=x;p=&x;cout<cout<name<<’’<age*2<<’’<pay+100<}二、写出下列每个函数的功能1.#includeintS(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}2.#includeboolSG(intx){//x为大于等于2的整数inta=int(sqrt(x));//取x的平方根inti=2;while(i<=a){if(x%i==0)break;i++;}if(i<=a)return0;elsereturn1;}3.//structWorker{//charname[15];//姓名//intage;//年龄//floatpay;//工资};voidQ(Workera[],intn){for(inti=0;icin>>a[i].name>>a[i].age>>a[i].pay;}4.#include#includevoidJD(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件//假定该文件保存着一批整数{ifstreamfin(fname,ios::in|ios::nocreate\ios::binary)intx,s=0,n=0;while(fin.read((char*)&x,sizeof(x))){s+=x;n++;}cout<fin.close();}5.floatFI(intn){//n为大于等于1的整数floatx,y=0;do{cin>>x;n--;y+=x*x;}while(n>0);returny;}6.#includevoidWA(inta[],intn){for(inti=0;iintk=i;for(intj=i+1;jif(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
*p++=i*i;
int*b,n=5;
LG(b,n);
for(inti=0;icout<cout<delete[]b;} 10.#include#includestructWorker{charname[5];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx;char*t=”WeiRong”;intd=45;floatf=1235;strcpy(x.name,t);x.age=d;x.pay=f;cout<}11.#includevoidmain(){ints=0;for(inti=1;i<=5;i++)s+=i*i;cout<<”s=”<}12.#includevoidmain(){ints=0;for(inti=1;;i++){if(s>50)break;if(i%2==0)s+=i;}cout<<”i,s=”<}13.#includeintLB(int*a,intn){ints=1;for(inti=0;is*=*a++;returns;}voidmain(){inta[]={1,2,3,4,5,6,7,8};cout<cout<}14.#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx{“wangfong”,43,640};Workery,*p;y=x;p=&x;cout<cout<name<<’’<age*2<<’’<pay+100<}二、写出下列每个函数的功能1.#includeintS(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}2.#includeboolSG(intx){//x为大于等于2的整数inta=int(sqrt(x));//取x的平方根inti=2;while(i<=a){if(x%i==0)break;i++;}if(i<=a)return0;elsereturn1;}3.//structWorker{//charname[15];//姓名//intage;//年龄//floatpay;//工资};voidQ(Workera[],intn){for(inti=0;icin>>a[i].name>>a[i].age>>a[i].pay;}4.#include#includevoidJD(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件//假定该文件保存着一批整数{ifstreamfin(fname,ios::in|ios::nocreate\ios::binary)intx,s=0,n=0;while(fin.read((char*)&x,sizeof(x))){s+=x;n++;}cout<fin.close();}5.floatFI(intn){//n为大于等于1的整数floatx,y=0;do{cin>>x;n--;y+=x*x;}while(n>0);returny;}6.#includevoidWA(inta[],intn){for(inti=0;iintk=i;for(intj=i+1;jif(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
cout<
cout<delete[]b;} 10.#include#includestructWorker{charname[5];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx;char*t=”WeiRong”;intd=45;floatf=1235;strcpy(x.name,t);x.age=d;x.pay=f;cout<}11.#includevoidmain(){ints=0;for(inti=1;i<=5;i++)s+=i*i;cout<<”s=”<}12.#includevoidmain(){ints=0;for(inti=1;;i++){if(s>50)break;if(i%2==0)s+=i;}cout<<”i,s=”<}13.#includeintLB(int*a,intn){ints=1;for(inti=0;is*=*a++;returns;}voidmain(){inta[]={1,2,3,4,5,6,7,8};cout<cout<}14.#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx{“wangfong”,43,640};Workery,*p;y=x;p=&x;cout<cout<name<<’’<age*2<<’’<pay+100<}二、写出下列每个函数的功能1.#includeintS(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}2.#includeboolSG(intx){//x为大于等于2的整数inta=int(sqrt(x));//取x的平方根inti=2;while(i<=a){if(x%i==0)break;i++;}if(i<=a)return0;elsereturn1;}3.//structWorker{//charname[15];//姓名//intage;//年龄//floatpay;//工资};voidQ(Workera[],intn){for(inti=0;icin>>a[i].name>>a[i].age>>a[i].pay;}4.#include#includevoidJD(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件//假定该文件保存着一批整数{ifstreamfin(fname,ios::in|ios::nocreate\ios::binary)intx,s=0,n=0;while(fin.read((char*)&x,sizeof(x))){s+=x;n++;}cout<fin.close();}5.floatFI(intn){//n为大于等于1的整数floatx,y=0;do{cin>>x;n--;y+=x*x;}while(n>0);returny;}6.#includevoidWA(inta[],intn){for(inti=0;iintk=i;for(intj=i+1;jif(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
delete[]b;
10.
structWorker{
charname[5];//姓名
intage;//年龄
floatpay;//工资
};
Workerx;
char*t=”WeiRong”;
intd=45;floatf=1235;
strcpy(x.name,t);
x.age=d;x.pay=f;
cout<}11.#includevoidmain(){ints=0;for(inti=1;i<=5;i++)s+=i*i;cout<<”s=”<}12.#includevoidmain(){ints=0;for(inti=1;;i++){if(s>50)break;if(i%2==0)s+=i;}cout<<”i,s=”<}13.#includeintLB(int*a,intn){ints=1;for(inti=0;is*=*a++;returns;}voidmain(){inta[]={1,2,3,4,5,6,7,8};cout<cout<}14.#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx{“wangfong”,43,640};Workery,*p;y=x;p=&x;cout<cout<name<<’’<age*2<<’’<pay+100<}二、写出下列每个函数的功能1.#includeintS(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}2.#includeboolSG(intx){//x为大于等于2的整数inta=int(sqrt(x));//取x的平方根inti=2;while(i<=a){if(x%i==0)break;i++;}if(i<=a)return0;elsereturn1;}3.//structWorker{//charname[15];//姓名//intage;//年龄//floatpay;//工资};voidQ(Workera[],intn){for(inti=0;icin>>a[i].name>>a[i].age>>a[i].pay;}4.#include#includevoidJD(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件//假定该文件保存着一批整数{ifstreamfin(fname,ios::in|ios::nocreate\ios::binary)intx,s=0,n=0;while(fin.read((char*)&x,sizeof(x))){s+=x;n++;}cout<fin.close();}5.floatFI(intn){//n为大于等于1的整数floatx,y=0;do{cin>>x;n--;y+=x*x;}while(n>0);returny;}6.#includevoidWA(inta[],intn){for(inti=0;iintk=i;for(intj=i+1;jif(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
11.
ints=0;
for(inti=1;i<=5;i++)
s+=i*i;
cout<<”s=”<
12.
for(inti=1;;i++){
if(s>50)break;
if(i%2==0)s+=i;
cout<<”i,s=”<
13.
intLB(int*a,intn){
ints=1;
for(inti=0;is*=*a++;returns;}voidmain(){inta[]={1,2,3,4,5,6,7,8};cout<cout<}14.#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx{“wangfong”,43,640};Workery,*p;y=x;p=&x;cout<cout<name<<’’<age*2<<’’<pay+100<}二、写出下列每个函数的功能1.#includeintS(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}2.#includeboolSG(intx){//x为大于等于2的整数inta=int(sqrt(x));//取x的平方根inti=2;while(i<=a){if(x%i==0)break;i++;}if(i<=a)return0;elsereturn1;}3.//structWorker{//charname[15];//姓名//intage;//年龄//floatpay;//工资};voidQ(Workera[],intn){for(inti=0;icin>>a[i].name>>a[i].age>>a[i].pay;}4.#include#includevoidJD(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件//假定该文件保存着一批整数{ifstreamfin(fname,ios::in|ios::nocreate\ios::binary)intx,s=0,n=0;while(fin.read((char*)&x,sizeof(x))){s+=x;n++;}cout<fin.close();}5.floatFI(intn){//n为大于等于1的整数floatx,y=0;do{cin>>x;n--;y+=x*x;}while(n>0);returny;}6.#includevoidWA(inta[],intn){for(inti=0;iintk=i;for(intj=i+1;jif(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
s*=*a++;
returns;
inta[]={1,2,3,4,5,6,7,8};
cout<cout<}14.#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx{“wangfong”,43,640};Workery,*p;y=x;p=&x;cout<cout<name<<’’<age*2<<’’<pay+100<}二、写出下列每个函数的功能1.#includeintS(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}2.#includeboolSG(intx){//x为大于等于2的整数inta=int(sqrt(x));//取x的平方根inti=2;while(i<=a){if(x%i==0)break;i++;}if(i<=a)return0;elsereturn1;}3.//structWorker{//charname[15];//姓名//intage;//年龄//floatpay;//工资};voidQ(Workera[],intn){for(inti=0;icin>>a[i].name>>a[i].age>>a[i].pay;}4.#include#includevoidJD(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件//假定该文件保存着一批整数{ifstreamfin(fname,ios::in|ios::nocreate\ios::binary)intx,s=0,n=0;while(fin.read((char*)&x,sizeof(x))){s+=x;n++;}cout<fin.close();}5.floatFI(intn){//n为大于等于1的整数floatx,y=0;do{cin>>x;n--;y+=x*x;}while(n>0);returny;}6.#includevoidWA(inta[],intn){for(inti=0;iintk=i;for(intj=i+1;jif(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
cout<}14.#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx{“wangfong”,43,640};Workery,*p;y=x;p=&x;cout<cout<name<<’’<age*2<<’’<pay+100<}二、写出下列每个函数的功能1.#includeintS(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}2.#includeboolSG(intx){//x为大于等于2的整数inta=int(sqrt(x));//取x的平方根inti=2;while(i<=a){if(x%i==0)break;i++;}if(i<=a)return0;elsereturn1;}3.//structWorker{//charname[15];//姓名//intage;//年龄//floatpay;//工资};voidQ(Workera[],intn){for(inti=0;icin>>a[i].name>>a[i].age>>a[i].pay;}4.#include#includevoidJD(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件//假定该文件保存着一批整数{ifstreamfin(fname,ios::in|ios::nocreate\ios::binary)intx,s=0,n=0;while(fin.read((char*)&x,sizeof(x))){s+=x;n++;}cout<fin.close();}5.floatFI(intn){//n为大于等于1的整数floatx,y=0;do{cin>>x;n--;y+=x*x;}while(n>0);returny;}6.#includevoidWA(inta[],intn){for(inti=0;iintk=i;for(intj=i+1;jif(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
14.
charname[15];//姓名
Workerx{“wangfong”,43,640};
Workery,*p;
y=x;p=&x;
cout<cout<name<<’’<age*2<<’’<pay+100<}二、写出下列每个函数的功能1.#includeintS(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}2.#includeboolSG(intx){//x为大于等于2的整数inta=int(sqrt(x));//取x的平方根inti=2;while(i<=a){if(x%i==0)break;i++;}if(i<=a)return0;elsereturn1;}3.//structWorker{//charname[15];//姓名//intage;//年龄//floatpay;//工资};voidQ(Workera[],intn){for(inti=0;icin>>a[i].name>>a[i].age>>a[i].pay;}4.#include#includevoidJD(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件//假定该文件保存着一批整数{ifstreamfin(fname,ios::in|ios::nocreate\ios::binary)intx,s=0,n=0;while(fin.read((char*)&x,sizeof(x))){s+=x;n++;}cout<fin.close();}5.floatFI(intn){//n为大于等于1的整数floatx,y=0;do{cin>>x;n--;y+=x*x;}while(n>0);returny;}6.#includevoidWA(inta[],intn){for(inti=0;iintk=i;for(intj=i+1;jif(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
cout<name<<’’<age*2<<’’<pay+100<}二、写出下列每个函数的功能1.#includeintS(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}2.#includeboolSG(intx){//x为大于等于2的整数inta=int(sqrt(x));//取x的平方根inti=2;while(i<=a){if(x%i==0)break;i++;}if(i<=a)return0;elsereturn1;}3.//structWorker{//charname[15];//姓名//intage;//年龄//floatpay;//工资};voidQ(Workera[],intn){for(inti=0;icin>>a[i].name>>a[i].age>>a[i].pay;}4.#include#includevoidJD(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件//假定该文件保存着一批整数{ifstreamfin(fname,ios::in|ios::nocreate\ios::binary)intx,s=0,n=0;while(fin.read((char*)&x,sizeof(x))){s+=x;n++;}cout<fin.close();}5.floatFI(intn){//n为大于等于1的整数floatx,y=0;do{cin>>x;n--;y+=x*x;}while(n>0);returny;}6.#includevoidWA(inta[],intn){for(inti=0;iintk=i;for(intj=i+1;jif(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
二、写出下列每个函数的功能
intS(inta,intb){
if(a>b)return1;
elseif(a==b)return0;
elsereturn-1;
boolSG(intx){//x为大于等于2的整数
inta=int(sqrt(x));//取x的平方根
inti=2;
while(i<=a){
if(x%i==0)break;
i++;
if(i<=a)return0;
elsereturn1;
//structWorker{
//charname[15];//姓名
//intage;//年龄
//floatpay;//工资
voidQ(Workera[],intn){
for(inti=0;icin>>a[i].name>>a[i].age>>a[i].pay;}4.#include#includevoidJD(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件//假定该文件保存着一批整数{ifstreamfin(fname,ios::in|ios::nocreate\ios::binary)intx,s=0,n=0;while(fin.read((char*)&x,sizeof(x))){s+=x;n++;}cout<fin.close();}5.floatFI(intn){//n为大于等于1的整数floatx,y=0;do{cin>>x;n--;y+=x*x;}while(n>0);returny;}6.#includevoidWA(inta[],intn){for(inti=0;iintk=i;for(intj=i+1;jif(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
cin>>a[i].name>>a[i].age>>a[i].pay;
voidJD(char*fname)
//可把以fname所指字符串作为文件标识符的文件称为fname文件
//假定该文件保存着一批整数
{
ifstreamfin(fname,ios:
:
in|ios:
nocreate\ios:
binary)
intx,s=0,n=0;
while(fin.read((char*)&x,sizeof(x))){
s+=x;n++;
cout<fin.close();}5.floatFI(intn){//n为大于等于1的整数floatx,y=0;do{cin>>x;n--;y+=x*x;}while(n>0);returny;}6.#includevoidWA(inta[],intn){for(inti=0;iintk=i;for(intj=i+1;jif(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
fin.close();
5.
floatFI(intn){
//n为大于等于1的整数
floatx,y=0;
do{
cin>>x;
n--;y+=x*x;
}while(n>0);
returny;
voidWA(inta[],intn){
for(inti=0;iintk=i;for(intj=i+1;jif(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
intk=i;
for(intj=i+1;jif(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
if(a[j]intx=a[i];a[i]=a[k];a[k]=x;}}7.#includevoidLI(intn){int*a=newint[n];for(inti=0;i>a[i];for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;cout<<’\n’;delete[]a;}8.#include#include#includevoidJA(char*fname)//可把以fname所指字符串作为文件标识符的文件称为fname文件{ofstreamfout(fname);chara[20];cin>>a;while(strcmp(a,”end”)!=0){fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
intx=a[i];a[i]=a[k];a[k]=x;
voidLI(intn){
int*a=newint[n];
for(inti=0;i>a[i];
for(i=n-1;i>=0;i--)cout<<*(a+i)<<’’;
cout<<’\n’;
delete[]a;
voidJA(char*fname)
ofstreamfout(fname);
chara[20];
cin>>a;
while(strcmp(a,”end”)!
=0){
fout<cin>>a;}fout.close();}9.intWC(inta[],intn,intk){intc=0;for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
fout.close();
intWC(inta[],intn,intk){
intc=0;
for(inti=0;iif(a[i]>=k)c++;returnc;}10.#includeint*LJ(inta[],intn){intk=0;for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
if(a[i]>=k)c++;
returnc;
int*LJ(inta[],intn){
intk=0;
for(inti=1;iif(a[i]>a[k])k=i;return&a[k];}11.//structDNode{//doubledata;//值域//DNode*next;//指针域//};voidQB(DNode*&f,intn){if(n==0){f=NULL;return;}f=newDNode;cin>>f->data;DNode*p=f;while(--n){p=p->next=newDNode;cin>>p->data;}p->next=NULL;}12.#include#include#includeintJB(char*fname,char*key)//可把以fname所指字符串作为文件标识符的文件称为fname文件,//假定该文件中保存着一批字符串,每个字符串的长度均小于20。{ifstreamfin(fname);chara[20];inti=0;while(fin>>a)if(strcmp(a,key)==0)i++;fin.close();returnI;}三、编程1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解。2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。参考答案一、给出下列程序运行后的输出结果1.25202.523.21204.1015305030155.204030606.well!good!pass!well!bad!7.72558.3579111315179.16941010.WeiRong45123511.s=5512.i,s=15,5613.12012036014.wangfong43640wangfong86740二、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a2.判断x是否为一个质数,若是则返回1,否则返回0。3.从键盘输入n个Worker类型的记录到一维数组a中。4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。5.求出从键盘上输入的n个整数的平方和并返回。6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。7.把从键盘上输入的n个整数按与输入的相反次序显示出来。8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。9.统计出数组a中大于等于值为k的元素个数并返回。10.求出数组a中n个元素的最大值元素,返回该元素的地址。11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。 三、编程1.#includevoidmain(){inta,b;for(a=6;a<=30;a++)for(b=15;b<=36;b++)if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
if(a[i]>a[k])k=i;
return&a[k];
//structDNode{
//doubledata;//值域
//DNode*next;//指针域
//};
voidQB(DNode*&f,intn){
if(n==0){f=NULL;return;}
f=newDNode;
cin>>f->data;
DNode*p=f;
while(--n){
p=p->next=newDNode;
cin>>p->data;
p->next=NULL;
intJB(char*fname,char*key)
//可把以fname所指字符串作为文件标识符的文件称为fname文件,
//假定该文件中保存着一批字符串,每个字符串的长度均小于20。
ifstreamfin(fname);
inti=0;
while(fin>>a)
if(strcmp(a,key)==0)i++;
returnI;
三、编程
1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。
如(13,20)就是其中的一组解。
2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。
3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。
参考答案
1.2520
2.52
3.2120
4.1015
3050
3015
5.2040
3060
6.well!
good!
pass!
well!
bad!
7.7255
8.357
91113
1517
9.169410
10.WeiRong451235
11.s=55
12.i,s=15,56
13.120120360
14.wangfong43640
wangfong86740
1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a
2.判断x是否为一个质数,若是则返回1,否则返回0。
3.从键盘输入n个Worker类型的记录到一维数组a中。
4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。
5.求出从键盘上输入的n个整数的平方和并返回。
6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。
7.把从键盘上输入的n个整数按与输入的相反次序显示出来。
8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。
9.统计出数组a中大于等于值为k的元素个数并返回。
10.求出数组a中n个元素的最大值元素,返回该元素的地址。
11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。
12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。
voidmain()
inta,b;
for(a=6;a<=30;a++)
for(b=15;b<=36;b++)
if(2*a+5*b==126)cout<<’(‘<}2.intFF(inta[],intn){if(n==1)returna[n-1]*a[n-1];elsereturna[n-1]*a[n-1]+FF(a,n-1);}3.voidSelectSort(inta[],intn){inti,j,k;for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
intFF(inta[],intn)
if(n==1)returna[n-1]*a[n-1];
elsereturna[n-1]*a[n-1]+FF(a,n-1);
voidSelectSort(inta[],intn)
inti,j,k;
for(i=1;ik=i-1;for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
k=i-1;
for(j=i;jif(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
if(a[j]intx=a[i-1];a[i-1]=a[k];a[k]=x;}}
intx=a[i-1];a[i-1]=a[k];a[k]=x;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1