C++课后习题答案杨志强 龚沛增 完整版.docx
《C++课后习题答案杨志强 龚沛增 完整版.docx》由会员分享,可在线阅读,更多相关《C++课后习题答案杨志强 龚沛增 完整版.docx(52页珍藏版)》请在冰豆网上搜索。
C++课后习题答案杨志强龚沛增完整版
第一章
一、选择题
CABCAACB
二、填充题
1.main()
2.数字0-9、下划线
3.字符串
4.#include#define
5.hex
6..h
7.语法错误和逻辑错误
8.Insert/RemoveBreakpoint
9..cpp
10.Fileview
三、简答题
1.C++是C语言的超集。
C++中的类和对象部分,C语言没有,C++是面向对象的程序设计。
见教材P3。
2.C/C++程序是由一个或多个函数组成,其中必须要有一个main()函数。
在一个函数内,语句的执行是从上到下的。
3.a?
3a,a-b,f(x),AD,a.txt,D$,∏,double
4.C/C++程序书写形式自由。
一行可以写多条语句,一条语句也可以分别写在不同行上。
区别大小写字母。
5.用尖括号时,预处理程序在系统指定的文件夹中寻找文件;用双引号时,预处理程序首先在当前文件所在的文件目录中寻找文件,若找不到再到系统指定的文件夹中查找。
6.最好的调试手段是设置断点,并让程序运行到该断点,然后在Debug窗口观察各变量的值,从中发现错误。
第二章
BCDCDCCCBB
二、
1.(x+y)!
=(a+b)
2.pow(log(10)+x*y),3)
3.sin(w*u)/(cos(45*180/3.14)+3*pow(x,y))
4.exp(3)+sqrt(2*x+3*y)
5.fabs(x-y)+(x+y)/(3*x)
6.1/(1/r1+1/r2+1/r3)
三、
1.a>d||b>d
2.z=x>y?
x:
y
3.x<0&&y<0
4.x+y>z||y+z>z||x+z>y
5.(int)(x*100+0.5)/100.
6.d>0&&d<=100&&d%2==0
7.x%5==0||y%5==0
8.n%k==0?
n/k:
n/k+1
四、
1
#include"iostream.h"
voidmain()
{floatr,h,v;
cin>>r>>h;
v=3.1416*r*r*h;
cout<}2.#include"iostream.h"voidmain(){floata,b,c,ave,min;cin>>a>>b>>c;ave=(a+b+c)/3;min=(aa:b;min=(cc:min;cout<<"ave="<}3.#include"iostream.h"voidmain(){charc1='1',c2='2';intx;x=10*(c1-'0')+c2-'0';cout<}4.#include"iostream.h"voidmain(){intx;intc1,c2,c3;cin>>x;c1=x/100;c2=x/10%10;c3=x%10;x=100*c3+10*c2+c1;cout<}5.解1:#include"iostream.h"voidmain(){intyear,x;cin>>year;x=year%400==0||year%4==0&&year%100!=0;x!=0?cout<":cout<";}解2:#include"iostream.h"voidmain(){intyear;charx;cin>>year;x=(year%400==0||year%4==0&&year%100!=0)?'y':'n';cout<}6.#include"iostream.h"#include"math.h"voidmain(){doublex,y;cin>>x;y=log(x*x+3)/log(10)+3.14/2*cos(40*3.14/180);cout<}第三章一、1.C2.D3.D(该答案后还应附“其他值”)4.C5.B6.C7.A8.C9.B二、(1)输入两个正整数给m和n。(2)20(3)s=288(4)AB20ega5(5)******三、(1)c==')'count==0count>0count(2)cin>>m>>nm=m-nn=n-m(3)n=mn=n/5m=m+5四、1.#include"iostream.h"#include"math.h"voidmain(){floatx,y;cout<<"inputx:"<cin>>x;if(x<5)y=fabs(x);elseif(x<20)y=3*x*x-2*x+1;elsey=x/5;cout<<"x="<}2.#include"iostream.h"voidmain(){floats,p,t,w;cout<<"inputs:"<cin>>s;switch(int(s)/1000){case0:p=0;break;case1:p=0.05;break;case2:p=0.08;break;case3:case4:p=0.1;break;default:p=0.15;break;}t=s*p;w=s-t;cout<<"纳税款="<}3.#include"iostream.h"voidmain(){intm,count=0;for(m=100;m<1000;m++){if(m%10+m/10%10+m/100==5)count++;}cout<<"count="<} 4.#include"iostream.h"voidmain(){intm,n;for(m=0;m<=30;m++)for(n=0;n<=30;n++)if(m*2+n*4==90&&m+n==30)cout<<"鸡:"<"<} 5.#include"iostream.h"voidmain(){floate=1,t=1;intn;for(n=1;1/t>1e-6;n++){t=t*n;e=e+1/t;}cout<<"e="<} 6.#include"iostream.h"voidmain(){intx,y;for(x=1;x<=100;x++)for(y=1;y<=100;y++)if(x*x+2*x==y*y*y)cout<<"x="<} 7.#include"iostream.h"#include"stdio.h"voidmain(){charch;while((ch=getchar())!='.')if(ch=='')cout<elsecout<}8.#include"iostream.h"#include"math.h"voidmain(){intm,k1,k2;for(m=0;m<=1000;m++){k1=sqrt(m+100);k2=sqrt(m+100+168);if(k1*k1==m+100&&k2*k2==m+100+168)cout<}}9.二分法的步骤为等分区间[x1,x2]成[x1,x]和[x,x2],其中,若f(x)与f(x1)同号,则取[x,x2]作为新的区间,否则取[x1,x]作为新的区间,依次类推,当新区间的长度或f(x)的绝对值小于eps时,x就作为所求的实根。#include"iostream.h"#include"math.h"voidmain(){floatx1=0,x2=10,x,y1,y2,y,eps=1e-6;do{x=(x1+x2)/2;y1=pow(x1,9)-4*pow(x1,5)-5*pow(x1,3)-270000;y=pow(x,9)-4*pow(x,5)-5*pow(x,3)-270000;if(y1*y>0)x1=x;elsex2=x;}while(fabs(x2-x1)>eps);cout<}第四章一、1.C2.A3.C4.D5.C6.B7.A8.B二、1.6789043212.43.14三、1.(1){0,1}(3)x[i]=x[i-1]+x[i-2](4)setw(5)<2.(1)rand()%101(2)j3.(1)b[m]=0(2)n4.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
}
2.
{
floata,b,c,ave,min;
cin>>a>>b>>c;
ave=(a+b+c)/3;
min=(a
a:
b;
min=(cc:min;cout<<"ave="<}3.#include"iostream.h"voidmain(){charc1='1',c2='2';intx;x=10*(c1-'0')+c2-'0';cout<}4.#include"iostream.h"voidmain(){intx;intc1,c2,c3;cin>>x;c1=x/100;c2=x/10%10;c3=x%10;x=100*c3+10*c2+c1;cout<}5.解1:#include"iostream.h"voidmain(){intyear,x;cin>>year;x=year%400==0||year%4==0&&year%100!=0;x!=0?cout<":cout<";}解2:#include"iostream.h"voidmain(){intyear;charx;cin>>year;x=(year%400==0||year%4==0&&year%100!=0)?'y':'n';cout<}6.#include"iostream.h"#include"math.h"voidmain(){doublex,y;cin>>x;y=log(x*x+3)/log(10)+3.14/2*cos(40*3.14/180);cout<}第三章一、1.C2.D3.D(该答案后还应附“其他值”)4.C5.B6.C7.A8.C9.B二、(1)输入两个正整数给m和n。(2)20(3)s=288(4)AB20ega5(5)******三、(1)c==')'count==0count>0count(2)cin>>m>>nm=m-nn=n-m(3)n=mn=n/5m=m+5四、1.#include"iostream.h"#include"math.h"voidmain(){floatx,y;cout<<"inputx:"<cin>>x;if(x<5)y=fabs(x);elseif(x<20)y=3*x*x-2*x+1;elsey=x/5;cout<<"x="<}2.#include"iostream.h"voidmain(){floats,p,t,w;cout<<"inputs:"<cin>>s;switch(int(s)/1000){case0:p=0;break;case1:p=0.05;break;case2:p=0.08;break;case3:case4:p=0.1;break;default:p=0.15;break;}t=s*p;w=s-t;cout<<"纳税款="<}3.#include"iostream.h"voidmain(){intm,count=0;for(m=100;m<1000;m++){if(m%10+m/10%10+m/100==5)count++;}cout<<"count="<} 4.#include"iostream.h"voidmain(){intm,n;for(m=0;m<=30;m++)for(n=0;n<=30;n++)if(m*2+n*4==90&&m+n==30)cout<<"鸡:"<"<} 5.#include"iostream.h"voidmain(){floate=1,t=1;intn;for(n=1;1/t>1e-6;n++){t=t*n;e=e+1/t;}cout<<"e="<} 6.#include"iostream.h"voidmain(){intx,y;for(x=1;x<=100;x++)for(y=1;y<=100;y++)if(x*x+2*x==y*y*y)cout<<"x="<} 7.#include"iostream.h"#include"stdio.h"voidmain(){charch;while((ch=getchar())!='.')if(ch=='')cout<elsecout<}8.#include"iostream.h"#include"math.h"voidmain(){intm,k1,k2;for(m=0;m<=1000;m++){k1=sqrt(m+100);k2=sqrt(m+100+168);if(k1*k1==m+100&&k2*k2==m+100+168)cout<}}9.二分法的步骤为等分区间[x1,x2]成[x1,x]和[x,x2],其中,若f(x)与f(x1)同号,则取[x,x2]作为新的区间,否则取[x1,x]作为新的区间,依次类推,当新区间的长度或f(x)的绝对值小于eps时,x就作为所求的实根。#include"iostream.h"#include"math.h"voidmain(){floatx1=0,x2=10,x,y1,y2,y,eps=1e-6;do{x=(x1+x2)/2;y1=pow(x1,9)-4*pow(x1,5)-5*pow(x1,3)-270000;y=pow(x,9)-4*pow(x,5)-5*pow(x,3)-270000;if(y1*y>0)x1=x;elsex2=x;}while(fabs(x2-x1)>eps);cout<}第四章一、1.C2.A3.C4.D5.C6.B7.A8.B二、1.6789043212.43.14三、1.(1){0,1}(3)x[i]=x[i-1]+x[i-2](4)setw(5)<2.(1)rand()%101(2)j3.(1)b[m]=0(2)n4.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
c:
min;
cout<<"ave="<}3.#include"iostream.h"voidmain(){charc1='1',c2='2';intx;x=10*(c1-'0')+c2-'0';cout<}4.#include"iostream.h"voidmain(){intx;intc1,c2,c3;cin>>x;c1=x/100;c2=x/10%10;c3=x%10;x=100*c3+10*c2+c1;cout<}5.解1:#include"iostream.h"voidmain(){intyear,x;cin>>year;x=year%400==0||year%4==0&&year%100!=0;x!=0?cout<":cout<";}解2:#include"iostream.h"voidmain(){intyear;charx;cin>>year;x=(year%400==0||year%4==0&&year%100!=0)?'y':'n';cout<}6.#include"iostream.h"#include"math.h"voidmain(){doublex,y;cin>>x;y=log(x*x+3)/log(10)+3.14/2*cos(40*3.14/180);cout<}第三章一、1.C2.D3.D(该答案后还应附“其他值”)4.C5.B6.C7.A8.C9.B二、(1)输入两个正整数给m和n。(2)20(3)s=288(4)AB20ega5(5)******三、(1)c==')'count==0count>0count(2)cin>>m>>nm=m-nn=n-m(3)n=mn=n/5m=m+5四、1.#include"iostream.h"#include"math.h"voidmain(){floatx,y;cout<<"inputx:"<cin>>x;if(x<5)y=fabs(x);elseif(x<20)y=3*x*x-2*x+1;elsey=x/5;cout<<"x="<}2.#include"iostream.h"voidmain(){floats,p,t,w;cout<<"inputs:"<cin>>s;switch(int(s)/1000){case0:p=0;break;case1:p=0.05;break;case2:p=0.08;break;case3:case4:p=0.1;break;default:p=0.15;break;}t=s*p;w=s-t;cout<<"纳税款="<}3.#include"iostream.h"voidmain(){intm,count=0;for(m=100;m<1000;m++){if(m%10+m/10%10+m/100==5)count++;}cout<<"count="<} 4.#include"iostream.h"voidmain(){intm,n;for(m=0;m<=30;m++)for(n=0;n<=30;n++)if(m*2+n*4==90&&m+n==30)cout<<"鸡:"<"<} 5.#include"iostream.h"voidmain(){floate=1,t=1;intn;for(n=1;1/t>1e-6;n++){t=t*n;e=e+1/t;}cout<<"e="<} 6.#include"iostream.h"voidmain(){intx,y;for(x=1;x<=100;x++)for(y=1;y<=100;y++)if(x*x+2*x==y*y*y)cout<<"x="<} 7.#include"iostream.h"#include"stdio.h"voidmain(){charch;while((ch=getchar())!='.')if(ch=='')cout<elsecout<}8.#include"iostream.h"#include"math.h"voidmain(){intm,k1,k2;for(m=0;m<=1000;m++){k1=sqrt(m+100);k2=sqrt(m+100+168);if(k1*k1==m+100&&k2*k2==m+100+168)cout<}}9.二分法的步骤为等分区间[x1,x2]成[x1,x]和[x,x2],其中,若f(x)与f(x1)同号,则取[x,x2]作为新的区间,否则取[x1,x]作为新的区间,依次类推,当新区间的长度或f(x)的绝对值小于eps时,x就作为所求的实根。#include"iostream.h"#include"math.h"voidmain(){floatx1=0,x2=10,x,y1,y2,y,eps=1e-6;do{x=(x1+x2)/2;y1=pow(x1,9)-4*pow(x1,5)-5*pow(x1,3)-270000;y=pow(x,9)-4*pow(x,5)-5*pow(x,3)-270000;if(y1*y>0)x1=x;elsex2=x;}while(fabs(x2-x1)>eps);cout<}第四章一、1.C2.A3.C4.D5.C6.B7.A8.B二、1.6789043212.43.14三、1.(1){0,1}(3)x[i]=x[i-1]+x[i-2](4)setw(5)<2.(1)rand()%101(2)j3.(1)b[m]=0(2)n4.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
3.
charc1='1',c2='2';
intx;
x=10*(c1-'0')+c2-'0';
cout<}4.#include"iostream.h"voidmain(){intx;intc1,c2,c3;cin>>x;c1=x/100;c2=x/10%10;c3=x%10;x=100*c3+10*c2+c1;cout<}5.解1:#include"iostream.h"voidmain(){intyear,x;cin>>year;x=year%400==0||year%4==0&&year%100!=0;x!=0?cout<":cout<";}解2:#include"iostream.h"voidmain(){intyear;charx;cin>>year;x=(year%400==0||year%4==0&&year%100!=0)?'y':'n';cout<}6.#include"iostream.h"#include"math.h"voidmain(){doublex,y;cin>>x;y=log(x*x+3)/log(10)+3.14/2*cos(40*3.14/180);cout<}第三章一、1.C2.D3.D(该答案后还应附“其他值”)4.C5.B6.C7.A8.C9.B二、(1)输入两个正整数给m和n。(2)20(3)s=288(4)AB20ega5(5)******三、(1)c==')'count==0count>0count(2)cin>>m>>nm=m-nn=n-m(3)n=mn=n/5m=m+5四、1.#include"iostream.h"#include"math.h"voidmain(){floatx,y;cout<<"inputx:"<cin>>x;if(x<5)y=fabs(x);elseif(x<20)y=3*x*x-2*x+1;elsey=x/5;cout<<"x="<}2.#include"iostream.h"voidmain(){floats,p,t,w;cout<<"inputs:"<cin>>s;switch(int(s)/1000){case0:p=0;break;case1:p=0.05;break;case2:p=0.08;break;case3:case4:p=0.1;break;default:p=0.15;break;}t=s*p;w=s-t;cout<<"纳税款="<}3.#include"iostream.h"voidmain(){intm,count=0;for(m=100;m<1000;m++){if(m%10+m/10%10+m/100==5)count++;}cout<<"count="<} 4.#include"iostream.h"voidmain(){intm,n;for(m=0;m<=30;m++)for(n=0;n<=30;n++)if(m*2+n*4==90&&m+n==30)cout<<"鸡:"<"<} 5.#include"iostream.h"voidmain(){floate=1,t=1;intn;for(n=1;1/t>1e-6;n++){t=t*n;e=e+1/t;}cout<<"e="<} 6.#include"iostream.h"voidmain(){intx,y;for(x=1;x<=100;x++)for(y=1;y<=100;y++)if(x*x+2*x==y*y*y)cout<<"x="<} 7.#include"iostream.h"#include"stdio.h"voidmain(){charch;while((ch=getchar())!='.')if(ch=='')cout<elsecout<}8.#include"iostream.h"#include"math.h"voidmain(){intm,k1,k2;for(m=0;m<=1000;m++){k1=sqrt(m+100);k2=sqrt(m+100+168);if(k1*k1==m+100&&k2*k2==m+100+168)cout<}}9.二分法的步骤为等分区间[x1,x2]成[x1,x]和[x,x2],其中,若f(x)与f(x1)同号,则取[x,x2]作为新的区间,否则取[x1,x]作为新的区间,依次类推,当新区间的长度或f(x)的绝对值小于eps时,x就作为所求的实根。#include"iostream.h"#include"math.h"voidmain(){floatx1=0,x2=10,x,y1,y2,y,eps=1e-6;do{x=(x1+x2)/2;y1=pow(x1,9)-4*pow(x1,5)-5*pow(x1,3)-270000;y=pow(x,9)-4*pow(x,5)-5*pow(x,3)-270000;if(y1*y>0)x1=x;elsex2=x;}while(fabs(x2-x1)>eps);cout<}第四章一、1.C2.A3.C4.D5.C6.B7.A8.B二、1.6789043212.43.14三、1.(1){0,1}(3)x[i]=x[i-1]+x[i-2](4)setw(5)<2.(1)rand()%101(2)j3.(1)b[m]=0(2)n4.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
4.
{intx;
intc1,c2,c3;
cin>>x;
c1=x/100;
c2=x/10%10;
c3=x%10;
x=100*c3+10*c2+c1;
cout<}5.解1:#include"iostream.h"voidmain(){intyear,x;cin>>year;x=year%400==0||year%4==0&&year%100!=0;x!=0?cout<":cout<";}解2:#include"iostream.h"voidmain(){intyear;charx;cin>>year;x=(year%400==0||year%4==0&&year%100!=0)?'y':'n';cout<}6.#include"iostream.h"#include"math.h"voidmain(){doublex,y;cin>>x;y=log(x*x+3)/log(10)+3.14/2*cos(40*3.14/180);cout<}第三章一、1.C2.D3.D(该答案后还应附“其他值”)4.C5.B6.C7.A8.C9.B二、(1)输入两个正整数给m和n。(2)20(3)s=288(4)AB20ega5(5)******三、(1)c==')'count==0count>0count(2)cin>>m>>nm=m-nn=n-m(3)n=mn=n/5m=m+5四、1.#include"iostream.h"#include"math.h"voidmain(){floatx,y;cout<<"inputx:"<cin>>x;if(x<5)y=fabs(x);elseif(x<20)y=3*x*x-2*x+1;elsey=x/5;cout<<"x="<}2.#include"iostream.h"voidmain(){floats,p,t,w;cout<<"inputs:"<cin>>s;switch(int(s)/1000){case0:p=0;break;case1:p=0.05;break;case2:p=0.08;break;case3:case4:p=0.1;break;default:p=0.15;break;}t=s*p;w=s-t;cout<<"纳税款="<}3.#include"iostream.h"voidmain(){intm,count=0;for(m=100;m<1000;m++){if(m%10+m/10%10+m/100==5)count++;}cout<<"count="<} 4.#include"iostream.h"voidmain(){intm,n;for(m=0;m<=30;m++)for(n=0;n<=30;n++)if(m*2+n*4==90&&m+n==30)cout<<"鸡:"<"<} 5.#include"iostream.h"voidmain(){floate=1,t=1;intn;for(n=1;1/t>1e-6;n++){t=t*n;e=e+1/t;}cout<<"e="<} 6.#include"iostream.h"voidmain(){intx,y;for(x=1;x<=100;x++)for(y=1;y<=100;y++)if(x*x+2*x==y*y*y)cout<<"x="<} 7.#include"iostream.h"#include"stdio.h"voidmain(){charch;while((ch=getchar())!='.')if(ch=='')cout<elsecout<}8.#include"iostream.h"#include"math.h"voidmain(){intm,k1,k2;for(m=0;m<=1000;m++){k1=sqrt(m+100);k2=sqrt(m+100+168);if(k1*k1==m+100&&k2*k2==m+100+168)cout<}}9.二分法的步骤为等分区间[x1,x2]成[x1,x]和[x,x2],其中,若f(x)与f(x1)同号,则取[x,x2]作为新的区间,否则取[x1,x]作为新的区间,依次类推,当新区间的长度或f(x)的绝对值小于eps时,x就作为所求的实根。#include"iostream.h"#include"math.h"voidmain(){floatx1=0,x2=10,x,y1,y2,y,eps=1e-6;do{x=(x1+x2)/2;y1=pow(x1,9)-4*pow(x1,5)-5*pow(x1,3)-270000;y=pow(x,9)-4*pow(x,5)-5*pow(x,3)-270000;if(y1*y>0)x1=x;elsex2=x;}while(fabs(x2-x1)>eps);cout<}第四章一、1.C2.A3.C4.D5.C6.B7.A8.B二、1.6789043212.43.14三、1.(1){0,1}(3)x[i]=x[i-1]+x[i-2](4)setw(5)<2.(1)rand()%101(2)j3.(1)b[m]=0(2)n4.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
5.
解1:
{intyear,x;
cin>>year;
x=year%400==0||year%4==0&&year%100!
=0;
x!
=0?
cout<":cout<";}解2:#include"iostream.h"voidmain(){intyear;charx;cin>>year;x=(year%400==0||year%4==0&&year%100!=0)?'y':'n';cout<}6.#include"iostream.h"#include"math.h"voidmain(){doublex,y;cin>>x;y=log(x*x+3)/log(10)+3.14/2*cos(40*3.14/180);cout<}第三章一、1.C2.D3.D(该答案后还应附“其他值”)4.C5.B6.C7.A8.C9.B二、(1)输入两个正整数给m和n。(2)20(3)s=288(4)AB20ega5(5)******三、(1)c==')'count==0count>0count(2)cin>>m>>nm=m-nn=n-m(3)n=mn=n/5m=m+5四、1.#include"iostream.h"#include"math.h"voidmain(){floatx,y;cout<<"inputx:"<cin>>x;if(x<5)y=fabs(x);elseif(x<20)y=3*x*x-2*x+1;elsey=x/5;cout<<"x="<}2.#include"iostream.h"voidmain(){floats,p,t,w;cout<<"inputs:"<cin>>s;switch(int(s)/1000){case0:p=0;break;case1:p=0.05;break;case2:p=0.08;break;case3:case4:p=0.1;break;default:p=0.15;break;}t=s*p;w=s-t;cout<<"纳税款="<}3.#include"iostream.h"voidmain(){intm,count=0;for(m=100;m<1000;m++){if(m%10+m/10%10+m/100==5)count++;}cout<<"count="<} 4.#include"iostream.h"voidmain(){intm,n;for(m=0;m<=30;m++)for(n=0;n<=30;n++)if(m*2+n*4==90&&m+n==30)cout<<"鸡:"<"<} 5.#include"iostream.h"voidmain(){floate=1,t=1;intn;for(n=1;1/t>1e-6;n++){t=t*n;e=e+1/t;}cout<<"e="<} 6.#include"iostream.h"voidmain(){intx,y;for(x=1;x<=100;x++)for(y=1;y<=100;y++)if(x*x+2*x==y*y*y)cout<<"x="<} 7.#include"iostream.h"#include"stdio.h"voidmain(){charch;while((ch=getchar())!='.')if(ch=='')cout<elsecout<}8.#include"iostream.h"#include"math.h"voidmain(){intm,k1,k2;for(m=0;m<=1000;m++){k1=sqrt(m+100);k2=sqrt(m+100+168);if(k1*k1==m+100&&k2*k2==m+100+168)cout<}}9.二分法的步骤为等分区间[x1,x2]成[x1,x]和[x,x2],其中,若f(x)与f(x1)同号,则取[x,x2]作为新的区间,否则取[x1,x]作为新的区间,依次类推,当新区间的长度或f(x)的绝对值小于eps时,x就作为所求的实根。#include"iostream.h"#include"math.h"voidmain(){floatx1=0,x2=10,x,y1,y2,y,eps=1e-6;do{x=(x1+x2)/2;y1=pow(x1,9)-4*pow(x1,5)-5*pow(x1,3)-270000;y=pow(x,9)-4*pow(x,5)-5*pow(x,3)-270000;if(y1*y>0)x1=x;elsex2=x;}while(fabs(x2-x1)>eps);cout<}第四章一、1.C2.A3.C4.D5.C6.B7.A8.B二、1.6789043212.43.14三、1.(1){0,1}(3)x[i]=x[i-1]+x[i-2](4)setw(5)<2.(1)rand()%101(2)j3.(1)b[m]=0(2)n4.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
":
cout<";}解2:#include"iostream.h"voidmain(){intyear;charx;cin>>year;x=(year%400==0||year%4==0&&year%100!=0)?'y':'n';cout<}6.#include"iostream.h"#include"math.h"voidmain(){doublex,y;cin>>x;y=log(x*x+3)/log(10)+3.14/2*cos(40*3.14/180);cout<}第三章一、1.C2.D3.D(该答案后还应附“其他值”)4.C5.B6.C7.A8.C9.B二、(1)输入两个正整数给m和n。(2)20(3)s=288(4)AB20ega5(5)******三、(1)c==')'count==0count>0count(2)cin>>m>>nm=m-nn=n-m(3)n=mn=n/5m=m+5四、1.#include"iostream.h"#include"math.h"voidmain(){floatx,y;cout<<"inputx:"<cin>>x;if(x<5)y=fabs(x);elseif(x<20)y=3*x*x-2*x+1;elsey=x/5;cout<<"x="<}2.#include"iostream.h"voidmain(){floats,p,t,w;cout<<"inputs:"<cin>>s;switch(int(s)/1000){case0:p=0;break;case1:p=0.05;break;case2:p=0.08;break;case3:case4:p=0.1;break;default:p=0.15;break;}t=s*p;w=s-t;cout<<"纳税款="<}3.#include"iostream.h"voidmain(){intm,count=0;for(m=100;m<1000;m++){if(m%10+m/10%10+m/100==5)count++;}cout<<"count="<} 4.#include"iostream.h"voidmain(){intm,n;for(m=0;m<=30;m++)for(n=0;n<=30;n++)if(m*2+n*4==90&&m+n==30)cout<<"鸡:"<"<} 5.#include"iostream.h"voidmain(){floate=1,t=1;intn;for(n=1;1/t>1e-6;n++){t=t*n;e=e+1/t;}cout<<"e="<} 6.#include"iostream.h"voidmain(){intx,y;for(x=1;x<=100;x++)for(y=1;y<=100;y++)if(x*x+2*x==y*y*y)cout<<"x="<} 7.#include"iostream.h"#include"stdio.h"voidmain(){charch;while((ch=getchar())!='.')if(ch=='')cout<elsecout<}8.#include"iostream.h"#include"math.h"voidmain(){intm,k1,k2;for(m=0;m<=1000;m++){k1=sqrt(m+100);k2=sqrt(m+100+168);if(k1*k1==m+100&&k2*k2==m+100+168)cout<}}9.二分法的步骤为等分区间[x1,x2]成[x1,x]和[x,x2],其中,若f(x)与f(x1)同号,则取[x,x2]作为新的区间,否则取[x1,x]作为新的区间,依次类推,当新区间的长度或f(x)的绝对值小于eps时,x就作为所求的实根。#include"iostream.h"#include"math.h"voidmain(){floatx1=0,x2=10,x,y1,y2,y,eps=1e-6;do{x=(x1+x2)/2;y1=pow(x1,9)-4*pow(x1,5)-5*pow(x1,3)-270000;y=pow(x,9)-4*pow(x,5)-5*pow(x,3)-270000;if(y1*y>0)x1=x;elsex2=x;}while(fabs(x2-x1)>eps);cout<}第四章一、1.C2.A3.C4.D5.C6.B7.A8.B二、1.6789043212.43.14三、1.(1){0,1}(3)x[i]=x[i-1]+x[i-2](4)setw(5)<2.(1)rand()%101(2)j3.(1)b[m]=0(2)n4.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
";
解2:
{intyear;
charx;
x=(year%400==0||year%4==0&&year%100!
=0)?
'y':
'n';
cout<}6.#include"iostream.h"#include"math.h"voidmain(){doublex,y;cin>>x;y=log(x*x+3)/log(10)+3.14/2*cos(40*3.14/180);cout<}第三章一、1.C2.D3.D(该答案后还应附“其他值”)4.C5.B6.C7.A8.C9.B二、(1)输入两个正整数给m和n。(2)20(3)s=288(4)AB20ega5(5)******三、(1)c==')'count==0count>0count(2)cin>>m>>nm=m-nn=n-m(3)n=mn=n/5m=m+5四、1.#include"iostream.h"#include"math.h"voidmain(){floatx,y;cout<<"inputx:"<cin>>x;if(x<5)y=fabs(x);elseif(x<20)y=3*x*x-2*x+1;elsey=x/5;cout<<"x="<}2.#include"iostream.h"voidmain(){floats,p,t,w;cout<<"inputs:"<cin>>s;switch(int(s)/1000){case0:p=0;break;case1:p=0.05;break;case2:p=0.08;break;case3:case4:p=0.1;break;default:p=0.15;break;}t=s*p;w=s-t;cout<<"纳税款="<}3.#include"iostream.h"voidmain(){intm,count=0;for(m=100;m<1000;m++){if(m%10+m/10%10+m/100==5)count++;}cout<<"count="<} 4.#include"iostream.h"voidmain(){intm,n;for(m=0;m<=30;m++)for(n=0;n<=30;n++)if(m*2+n*4==90&&m+n==30)cout<<"鸡:"<"<} 5.#include"iostream.h"voidmain(){floate=1,t=1;intn;for(n=1;1/t>1e-6;n++){t=t*n;e=e+1/t;}cout<<"e="<} 6.#include"iostream.h"voidmain(){intx,y;for(x=1;x<=100;x++)for(y=1;y<=100;y++)if(x*x+2*x==y*y*y)cout<<"x="<} 7.#include"iostream.h"#include"stdio.h"voidmain(){charch;while((ch=getchar())!='.')if(ch=='')cout<elsecout<}8.#include"iostream.h"#include"math.h"voidmain(){intm,k1,k2;for(m=0;m<=1000;m++){k1=sqrt(m+100);k2=sqrt(m+100+168);if(k1*k1==m+100&&k2*k2==m+100+168)cout<}}9.二分法的步骤为等分区间[x1,x2]成[x1,x]和[x,x2],其中,若f(x)与f(x1)同号,则取[x,x2]作为新的区间,否则取[x1,x]作为新的区间,依次类推,当新区间的长度或f(x)的绝对值小于eps时,x就作为所求的实根。#include"iostream.h"#include"math.h"voidmain(){floatx1=0,x2=10,x,y1,y2,y,eps=1e-6;do{x=(x1+x2)/2;y1=pow(x1,9)-4*pow(x1,5)-5*pow(x1,3)-270000;y=pow(x,9)-4*pow(x,5)-5*pow(x,3)-270000;if(y1*y>0)x1=x;elsex2=x;}while(fabs(x2-x1)>eps);cout<}第四章一、1.C2.A3.C4.D5.C6.B7.A8.B二、1.6789043212.43.14三、1.(1){0,1}(3)x[i]=x[i-1]+x[i-2](4)setw(5)<2.(1)rand()%101(2)j3.(1)b[m]=0(2)n4.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
6.
#include"math.h"
{doublex,y;
y=log(x*x+3)/log(10)+3.14/2*cos(40*3.14/180);
cout<}第三章一、1.C2.D3.D(该答案后还应附“其他值”)4.C5.B6.C7.A8.C9.B二、(1)输入两个正整数给m和n。(2)20(3)s=288(4)AB20ega5(5)******三、(1)c==')'count==0count>0count(2)cin>>m>>nm=m-nn=n-m(3)n=mn=n/5m=m+5四、1.#include"iostream.h"#include"math.h"voidmain(){floatx,y;cout<<"inputx:"<cin>>x;if(x<5)y=fabs(x);elseif(x<20)y=3*x*x-2*x+1;elsey=x/5;cout<<"x="<}2.#include"iostream.h"voidmain(){floats,p,t,w;cout<<"inputs:"<cin>>s;switch(int(s)/1000){case0:p=0;break;case1:p=0.05;break;case2:p=0.08;break;case3:case4:p=0.1;break;default:p=0.15;break;}t=s*p;w=s-t;cout<<"纳税款="<}3.#include"iostream.h"voidmain(){intm,count=0;for(m=100;m<1000;m++){if(m%10+m/10%10+m/100==5)count++;}cout<<"count="<} 4.#include"iostream.h"voidmain(){intm,n;for(m=0;m<=30;m++)for(n=0;n<=30;n++)if(m*2+n*4==90&&m+n==30)cout<<"鸡:"<"<} 5.#include"iostream.h"voidmain(){floate=1,t=1;intn;for(n=1;1/t>1e-6;n++){t=t*n;e=e+1/t;}cout<<"e="<} 6.#include"iostream.h"voidmain(){intx,y;for(x=1;x<=100;x++)for(y=1;y<=100;y++)if(x*x+2*x==y*y*y)cout<<"x="<} 7.#include"iostream.h"#include"stdio.h"voidmain(){charch;while((ch=getchar())!='.')if(ch=='')cout<elsecout<}8.#include"iostream.h"#include"math.h"voidmain(){intm,k1,k2;for(m=0;m<=1000;m++){k1=sqrt(m+100);k2=sqrt(m+100+168);if(k1*k1==m+100&&k2*k2==m+100+168)cout<}}9.二分法的步骤为等分区间[x1,x2]成[x1,x]和[x,x2],其中,若f(x)与f(x1)同号,则取[x,x2]作为新的区间,否则取[x1,x]作为新的区间,依次类推,当新区间的长度或f(x)的绝对值小于eps时,x就作为所求的实根。#include"iostream.h"#include"math.h"voidmain(){floatx1=0,x2=10,x,y1,y2,y,eps=1e-6;do{x=(x1+x2)/2;y1=pow(x1,9)-4*pow(x1,5)-5*pow(x1,3)-270000;y=pow(x,9)-4*pow(x,5)-5*pow(x,3)-270000;if(y1*y>0)x1=x;elsex2=x;}while(fabs(x2-x1)>eps);cout<}第四章一、1.C2.A3.C4.D5.C6.B7.A8.B二、1.6789043212.43.14三、1.(1){0,1}(3)x[i]=x[i-1]+x[i-2](4)setw(5)<2.(1)rand()%101(2)j3.(1)b[m]=0(2)n4.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
第三章
一、
1.C2.D3.D(该答案后还应附“其他值”)4.C
5.B6.C7.A8.C9.B
(1)输入两个正整数给m和n。
(2)20
(3)s=288
(4)AB20ega5
(5)*
**
***
(1)c==')'
count==0
count>0
count
(2)cin>>m>>n
m=m-n
n=n-m
(3)n=m
n=n/5
m=m+5
1.
{floatx,y;
cout<<"inputx:
"<cin>>x;if(x<5)y=fabs(x);elseif(x<20)y=3*x*x-2*x+1;elsey=x/5;cout<<"x="<}2.#include"iostream.h"voidmain(){floats,p,t,w;cout<<"inputs:"<cin>>s;switch(int(s)/1000){case0:p=0;break;case1:p=0.05;break;case2:p=0.08;break;case3:case4:p=0.1;break;default:p=0.15;break;}t=s*p;w=s-t;cout<<"纳税款="<}3.#include"iostream.h"voidmain(){intm,count=0;for(m=100;m<1000;m++){if(m%10+m/10%10+m/100==5)count++;}cout<<"count="<} 4.#include"iostream.h"voidmain(){intm,n;for(m=0;m<=30;m++)for(n=0;n<=30;n++)if(m*2+n*4==90&&m+n==30)cout<<"鸡:"<"<} 5.#include"iostream.h"voidmain(){floate=1,t=1;intn;for(n=1;1/t>1e-6;n++){t=t*n;e=e+1/t;}cout<<"e="<} 6.#include"iostream.h"voidmain(){intx,y;for(x=1;x<=100;x++)for(y=1;y<=100;y++)if(x*x+2*x==y*y*y)cout<<"x="<} 7.#include"iostream.h"#include"stdio.h"voidmain(){charch;while((ch=getchar())!='.')if(ch=='')cout<elsecout<}8.#include"iostream.h"#include"math.h"voidmain(){intm,k1,k2;for(m=0;m<=1000;m++){k1=sqrt(m+100);k2=sqrt(m+100+168);if(k1*k1==m+100&&k2*k2==m+100+168)cout<}}9.二分法的步骤为等分区间[x1,x2]成[x1,x]和[x,x2],其中,若f(x)与f(x1)同号,则取[x,x2]作为新的区间,否则取[x1,x]作为新的区间,依次类推,当新区间的长度或f(x)的绝对值小于eps时,x就作为所求的实根。#include"iostream.h"#include"math.h"voidmain(){floatx1=0,x2=10,x,y1,y2,y,eps=1e-6;do{x=(x1+x2)/2;y1=pow(x1,9)-4*pow(x1,5)-5*pow(x1,3)-270000;y=pow(x,9)-4*pow(x,5)-5*pow(x,3)-270000;if(y1*y>0)x1=x;elsex2=x;}while(fabs(x2-x1)>eps);cout<}第四章一、1.C2.A3.C4.D5.C6.B7.A8.B二、1.6789043212.43.14三、1.(1){0,1}(3)x[i]=x[i-1]+x[i-2](4)setw(5)<2.(1)rand()%101(2)j3.(1)b[m]=0(2)n4.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
if(x<5)
y=fabs(x);
elseif(x<20)
y=3*x*x-2*x+1;
else
y=x/5;
cout<<"x="<}2.#include"iostream.h"voidmain(){floats,p,t,w;cout<<"inputs:"<cin>>s;switch(int(s)/1000){case0:p=0;break;case1:p=0.05;break;case2:p=0.08;break;case3:case4:p=0.1;break;default:p=0.15;break;}t=s*p;w=s-t;cout<<"纳税款="<}3.#include"iostream.h"voidmain(){intm,count=0;for(m=100;m<1000;m++){if(m%10+m/10%10+m/100==5)count++;}cout<<"count="<} 4.#include"iostream.h"voidmain(){intm,n;for(m=0;m<=30;m++)for(n=0;n<=30;n++)if(m*2+n*4==90&&m+n==30)cout<<"鸡:"<"<} 5.#include"iostream.h"voidmain(){floate=1,t=1;intn;for(n=1;1/t>1e-6;n++){t=t*n;e=e+1/t;}cout<<"e="<} 6.#include"iostream.h"voidmain(){intx,y;for(x=1;x<=100;x++)for(y=1;y<=100;y++)if(x*x+2*x==y*y*y)cout<<"x="<} 7.#include"iostream.h"#include"stdio.h"voidmain(){charch;while((ch=getchar())!='.')if(ch=='')cout<elsecout<}8.#include"iostream.h"#include"math.h"voidmain(){intm,k1,k2;for(m=0;m<=1000;m++){k1=sqrt(m+100);k2=sqrt(m+100+168);if(k1*k1==m+100&&k2*k2==m+100+168)cout<}}9.二分法的步骤为等分区间[x1,x2]成[x1,x]和[x,x2],其中,若f(x)与f(x1)同号,则取[x,x2]作为新的区间,否则取[x1,x]作为新的区间,依次类推,当新区间的长度或f(x)的绝对值小于eps时,x就作为所求的实根。#include"iostream.h"#include"math.h"voidmain(){floatx1=0,x2=10,x,y1,y2,y,eps=1e-6;do{x=(x1+x2)/2;y1=pow(x1,9)-4*pow(x1,5)-5*pow(x1,3)-270000;y=pow(x,9)-4*pow(x,5)-5*pow(x,3)-270000;if(y1*y>0)x1=x;elsex2=x;}while(fabs(x2-x1)>eps);cout<}第四章一、1.C2.A3.C4.D5.C6.B7.A8.B二、1.6789043212.43.14三、1.(1){0,1}(3)x[i]=x[i-1]+x[i-2](4)setw(5)<2.(1)rand()%101(2)j3.(1)b[m]=0(2)n4.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
floats,p,t,w;
cout<<"inputs:
"<cin>>s;switch(int(s)/1000){case0:p=0;break;case1:p=0.05;break;case2:p=0.08;break;case3:case4:p=0.1;break;default:p=0.15;break;}t=s*p;w=s-t;cout<<"纳税款="<}3.#include"iostream.h"voidmain(){intm,count=0;for(m=100;m<1000;m++){if(m%10+m/10%10+m/100==5)count++;}cout<<"count="<} 4.#include"iostream.h"voidmain(){intm,n;for(m=0;m<=30;m++)for(n=0;n<=30;n++)if(m*2+n*4==90&&m+n==30)cout<<"鸡:"<"<} 5.#include"iostream.h"voidmain(){floate=1,t=1;intn;for(n=1;1/t>1e-6;n++){t=t*n;e=e+1/t;}cout<<"e="<} 6.#include"iostream.h"voidmain(){intx,y;for(x=1;x<=100;x++)for(y=1;y<=100;y++)if(x*x+2*x==y*y*y)cout<<"x="<} 7.#include"iostream.h"#include"stdio.h"voidmain(){charch;while((ch=getchar())!='.')if(ch=='')cout<elsecout<}8.#include"iostream.h"#include"math.h"voidmain(){intm,k1,k2;for(m=0;m<=1000;m++){k1=sqrt(m+100);k2=sqrt(m+100+168);if(k1*k1==m+100&&k2*k2==m+100+168)cout<}}9.二分法的步骤为等分区间[x1,x2]成[x1,x]和[x,x2],其中,若f(x)与f(x1)同号,则取[x,x2]作为新的区间,否则取[x1,x]作为新的区间,依次类推,当新区间的长度或f(x)的绝对值小于eps时,x就作为所求的实根。#include"iostream.h"#include"math.h"voidmain(){floatx1=0,x2=10,x,y1,y2,y,eps=1e-6;do{x=(x1+x2)/2;y1=pow(x1,9)-4*pow(x1,5)-5*pow(x1,3)-270000;y=pow(x,9)-4*pow(x,5)-5*pow(x,3)-270000;if(y1*y>0)x1=x;elsex2=x;}while(fabs(x2-x1)>eps);cout<}第四章一、1.C2.A3.C4.D5.C6.B7.A8.B二、1.6789043212.43.14三、1.(1){0,1}(3)x[i]=x[i-1]+x[i-2](4)setw(5)<2.(1)rand()%101(2)j3.(1)b[m]=0(2)n4.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
cin>>s;
switch(int(s)/1000)
{case0:
p=0;break;
case1:
p=0.05;break;
case2:
p=0.08;break;
case3:
case4:
p=0.1;break;
default:
p=0.15;break;
t=s*p;
w=s-t;
cout<<"纳税款="<}3.#include"iostream.h"voidmain(){intm,count=0;for(m=100;m<1000;m++){if(m%10+m/10%10+m/100==5)count++;}cout<<"count="<} 4.#include"iostream.h"voidmain(){intm,n;for(m=0;m<=30;m++)for(n=0;n<=30;n++)if(m*2+n*4==90&&m+n==30)cout<<"鸡:"<"<} 5.#include"iostream.h"voidmain(){floate=1,t=1;intn;for(n=1;1/t>1e-6;n++){t=t*n;e=e+1/t;}cout<<"e="<} 6.#include"iostream.h"voidmain(){intx,y;for(x=1;x<=100;x++)for(y=1;y<=100;y++)if(x*x+2*x==y*y*y)cout<<"x="<} 7.#include"iostream.h"#include"stdio.h"voidmain(){charch;while((ch=getchar())!='.')if(ch=='')cout<elsecout<}8.#include"iostream.h"#include"math.h"voidmain(){intm,k1,k2;for(m=0;m<=1000;m++){k1=sqrt(m+100);k2=sqrt(m+100+168);if(k1*k1==m+100&&k2*k2==m+100+168)cout<}}9.二分法的步骤为等分区间[x1,x2]成[x1,x]和[x,x2],其中,若f(x)与f(x1)同号,则取[x,x2]作为新的区间,否则取[x1,x]作为新的区间,依次类推,当新区间的长度或f(x)的绝对值小于eps时,x就作为所求的实根。#include"iostream.h"#include"math.h"voidmain(){floatx1=0,x2=10,x,y1,y2,y,eps=1e-6;do{x=(x1+x2)/2;y1=pow(x1,9)-4*pow(x1,5)-5*pow(x1,3)-270000;y=pow(x,9)-4*pow(x,5)-5*pow(x,3)-270000;if(y1*y>0)x1=x;elsex2=x;}while(fabs(x2-x1)>eps);cout<}第四章一、1.C2.A3.C4.D5.C6.B7.A8.B二、1.6789043212.43.14三、1.(1){0,1}(3)x[i]=x[i-1]+x[i-2](4)setw(5)<2.(1)rand()%101(2)j3.(1)b[m]=0(2)n4.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
{intm,count=0;
for(m=100;m<1000;m++)
{if(m%10+m/10%10+m/100==5)
count++;
cout<<"count="<} 4.#include"iostream.h"voidmain(){intm,n;for(m=0;m<=30;m++)for(n=0;n<=30;n++)if(m*2+n*4==90&&m+n==30)cout<<"鸡:"<"<} 5.#include"iostream.h"voidmain(){floate=1,t=1;intn;for(n=1;1/t>1e-6;n++){t=t*n;e=e+1/t;}cout<<"e="<} 6.#include"iostream.h"voidmain(){intx,y;for(x=1;x<=100;x++)for(y=1;y<=100;y++)if(x*x+2*x==y*y*y)cout<<"x="<} 7.#include"iostream.h"#include"stdio.h"voidmain(){charch;while((ch=getchar())!='.')if(ch=='')cout<elsecout<}8.#include"iostream.h"#include"math.h"voidmain(){intm,k1,k2;for(m=0;m<=1000;m++){k1=sqrt(m+100);k2=sqrt(m+100+168);if(k1*k1==m+100&&k2*k2==m+100+168)cout<}}9.二分法的步骤为等分区间[x1,x2]成[x1,x]和[x,x2],其中,若f(x)与f(x1)同号,则取[x,x2]作为新的区间,否则取[x1,x]作为新的区间,依次类推,当新区间的长度或f(x)的绝对值小于eps时,x就作为所求的实根。#include"iostream.h"#include"math.h"voidmain(){floatx1=0,x2=10,x,y1,y2,y,eps=1e-6;do{x=(x1+x2)/2;y1=pow(x1,9)-4*pow(x1,5)-5*pow(x1,3)-270000;y=pow(x,9)-4*pow(x,5)-5*pow(x,3)-270000;if(y1*y>0)x1=x;elsex2=x;}while(fabs(x2-x1)>eps);cout<}第四章一、1.C2.A3.C4.D5.C6.B7.A8.B二、1.6789043212.43.14三、1.(1){0,1}(3)x[i]=x[i-1]+x[i-2](4)setw(5)<2.(1)rand()%101(2)j3.(1)b[m]=0(2)n4.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
{intm,n;
for(m=0;m<=30;m++)
for(n=0;n<=30;n++)
if(m*2+n*4==90&&m+n==30)
cout<<"鸡:
"<"<} 5.#include"iostream.h"voidmain(){floate=1,t=1;intn;for(n=1;1/t>1e-6;n++){t=t*n;e=e+1/t;}cout<<"e="<} 6.#include"iostream.h"voidmain(){intx,y;for(x=1;x<=100;x++)for(y=1;y<=100;y++)if(x*x+2*x==y*y*y)cout<<"x="<} 7.#include"iostream.h"#include"stdio.h"voidmain(){charch;while((ch=getchar())!='.')if(ch=='')cout<elsecout<}8.#include"iostream.h"#include"math.h"voidmain(){intm,k1,k2;for(m=0;m<=1000;m++){k1=sqrt(m+100);k2=sqrt(m+100+168);if(k1*k1==m+100&&k2*k2==m+100+168)cout<}}9.二分法的步骤为等分区间[x1,x2]成[x1,x]和[x,x2],其中,若f(x)与f(x1)同号,则取[x,x2]作为新的区间,否则取[x1,x]作为新的区间,依次类推,当新区间的长度或f(x)的绝对值小于eps时,x就作为所求的实根。#include"iostream.h"#include"math.h"voidmain(){floatx1=0,x2=10,x,y1,y2,y,eps=1e-6;do{x=(x1+x2)/2;y1=pow(x1,9)-4*pow(x1,5)-5*pow(x1,3)-270000;y=pow(x,9)-4*pow(x,5)-5*pow(x,3)-270000;if(y1*y>0)x1=x;elsex2=x;}while(fabs(x2-x1)>eps);cout<}第四章一、1.C2.A3.C4.D5.C6.B7.A8.B二、1.6789043212.43.14三、1.(1){0,1}(3)x[i]=x[i-1]+x[i-2](4)setw(5)<2.(1)rand()%101(2)j3.(1)b[m]=0(2)n4.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
"<} 5.#include"iostream.h"voidmain(){floate=1,t=1;intn;for(n=1;1/t>1e-6;n++){t=t*n;e=e+1/t;}cout<<"e="<} 6.#include"iostream.h"voidmain(){intx,y;for(x=1;x<=100;x++)for(y=1;y<=100;y++)if(x*x+2*x==y*y*y)cout<<"x="<} 7.#include"iostream.h"#include"stdio.h"voidmain(){charch;while((ch=getchar())!='.')if(ch=='')cout<elsecout<}8.#include"iostream.h"#include"math.h"voidmain(){intm,k1,k2;for(m=0;m<=1000;m++){k1=sqrt(m+100);k2=sqrt(m+100+168);if(k1*k1==m+100&&k2*k2==m+100+168)cout<}}9.二分法的步骤为等分区间[x1,x2]成[x1,x]和[x,x2],其中,若f(x)与f(x1)同号,则取[x,x2]作为新的区间,否则取[x1,x]作为新的区间,依次类推,当新区间的长度或f(x)的绝对值小于eps时,x就作为所求的实根。#include"iostream.h"#include"math.h"voidmain(){floatx1=0,x2=10,x,y1,y2,y,eps=1e-6;do{x=(x1+x2)/2;y1=pow(x1,9)-4*pow(x1,5)-5*pow(x1,3)-270000;y=pow(x,9)-4*pow(x,5)-5*pow(x,3)-270000;if(y1*y>0)x1=x;elsex2=x;}while(fabs(x2-x1)>eps);cout<}第四章一、1.C2.A3.C4.D5.C6.B7.A8.B二、1.6789043212.43.14三、1.(1){0,1}(3)x[i]=x[i-1]+x[i-2](4)setw(5)<2.(1)rand()%101(2)j3.(1)b[m]=0(2)n4.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
{floate=1,t=1;
intn;
for(n=1;1/t>1e-6;n++)
{t=t*n;
e=e+1/t;
cout<<"e="<} 6.#include"iostream.h"voidmain(){intx,y;for(x=1;x<=100;x++)for(y=1;y<=100;y++)if(x*x+2*x==y*y*y)cout<<"x="<} 7.#include"iostream.h"#include"stdio.h"voidmain(){charch;while((ch=getchar())!='.')if(ch=='')cout<elsecout<}8.#include"iostream.h"#include"math.h"voidmain(){intm,k1,k2;for(m=0;m<=1000;m++){k1=sqrt(m+100);k2=sqrt(m+100+168);if(k1*k1==m+100&&k2*k2==m+100+168)cout<}}9.二分法的步骤为等分区间[x1,x2]成[x1,x]和[x,x2],其中,若f(x)与f(x1)同号,则取[x,x2]作为新的区间,否则取[x1,x]作为新的区间,依次类推,当新区间的长度或f(x)的绝对值小于eps时,x就作为所求的实根。#include"iostream.h"#include"math.h"voidmain(){floatx1=0,x2=10,x,y1,y2,y,eps=1e-6;do{x=(x1+x2)/2;y1=pow(x1,9)-4*pow(x1,5)-5*pow(x1,3)-270000;y=pow(x,9)-4*pow(x,5)-5*pow(x,3)-270000;if(y1*y>0)x1=x;elsex2=x;}while(fabs(x2-x1)>eps);cout<}第四章一、1.C2.A3.C4.D5.C6.B7.A8.B二、1.6789043212.43.14三、1.(1){0,1}(3)x[i]=x[i-1]+x[i-2](4)setw(5)<2.(1)rand()%101(2)j3.(1)b[m]=0(2)n4.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
{intx,y;
for(x=1;x<=100;x++)
for(y=1;y<=100;y++)
if(x*x+2*x==y*y*y)
cout<<"x="<} 7.#include"iostream.h"#include"stdio.h"voidmain(){charch;while((ch=getchar())!='.')if(ch=='')cout<elsecout<}8.#include"iostream.h"#include"math.h"voidmain(){intm,k1,k2;for(m=0;m<=1000;m++){k1=sqrt(m+100);k2=sqrt(m+100+168);if(k1*k1==m+100&&k2*k2==m+100+168)cout<}}9.二分法的步骤为等分区间[x1,x2]成[x1,x]和[x,x2],其中,若f(x)与f(x1)同号,则取[x,x2]作为新的区间,否则取[x1,x]作为新的区间,依次类推,当新区间的长度或f(x)的绝对值小于eps时,x就作为所求的实根。#include"iostream.h"#include"math.h"voidmain(){floatx1=0,x2=10,x,y1,y2,y,eps=1e-6;do{x=(x1+x2)/2;y1=pow(x1,9)-4*pow(x1,5)-5*pow(x1,3)-270000;y=pow(x,9)-4*pow(x,5)-5*pow(x,3)-270000;if(y1*y>0)x1=x;elsex2=x;}while(fabs(x2-x1)>eps);cout<}第四章一、1.C2.A3.C4.D5.C6.B7.A8.B二、1.6789043212.43.14三、1.(1){0,1}(3)x[i]=x[i-1]+x[i-2](4)setw(5)<2.(1)rand()%101(2)j3.(1)b[m]=0(2)n4.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
7.
#include"stdio.h"
{charch;
while((ch=getchar())!
='.')
if(ch=='')
cout<elsecout<}8.#include"iostream.h"#include"math.h"voidmain(){intm,k1,k2;for(m=0;m<=1000;m++){k1=sqrt(m+100);k2=sqrt(m+100+168);if(k1*k1==m+100&&k2*k2==m+100+168)cout<}}9.二分法的步骤为等分区间[x1,x2]成[x1,x]和[x,x2],其中,若f(x)与f(x1)同号,则取[x,x2]作为新的区间,否则取[x1,x]作为新的区间,依次类推,当新区间的长度或f(x)的绝对值小于eps时,x就作为所求的实根。#include"iostream.h"#include"math.h"voidmain(){floatx1=0,x2=10,x,y1,y2,y,eps=1e-6;do{x=(x1+x2)/2;y1=pow(x1,9)-4*pow(x1,5)-5*pow(x1,3)-270000;y=pow(x,9)-4*pow(x,5)-5*pow(x,3)-270000;if(y1*y>0)x1=x;elsex2=x;}while(fabs(x2-x1)>eps);cout<}第四章一、1.C2.A3.C4.D5.C6.B7.A8.B二、1.6789043212.43.14三、1.(1){0,1}(3)x[i]=x[i-1]+x[i-2](4)setw(5)<2.(1)rand()%101(2)j3.(1)b[m]=0(2)n4.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
cout<}8.#include"iostream.h"#include"math.h"voidmain(){intm,k1,k2;for(m=0;m<=1000;m++){k1=sqrt(m+100);k2=sqrt(m+100+168);if(k1*k1==m+100&&k2*k2==m+100+168)cout<}}9.二分法的步骤为等分区间[x1,x2]成[x1,x]和[x,x2],其中,若f(x)与f(x1)同号,则取[x,x2]作为新的区间,否则取[x1,x]作为新的区间,依次类推,当新区间的长度或f(x)的绝对值小于eps时,x就作为所求的实根。#include"iostream.h"#include"math.h"voidmain(){floatx1=0,x2=10,x,y1,y2,y,eps=1e-6;do{x=(x1+x2)/2;y1=pow(x1,9)-4*pow(x1,5)-5*pow(x1,3)-270000;y=pow(x,9)-4*pow(x,5)-5*pow(x,3)-270000;if(y1*y>0)x1=x;elsex2=x;}while(fabs(x2-x1)>eps);cout<}第四章一、1.C2.A3.C4.D5.C6.B7.A8.B二、1.6789043212.43.14三、1.(1){0,1}(3)x[i]=x[i-1]+x[i-2](4)setw(5)<2.(1)rand()%101(2)j3.(1)b[m]=0(2)n4.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
8.
{intm,k1,k2;
for(m=0;m<=1000;m++)
{k1=sqrt(m+100);
k2=sqrt(m+100+168);
if(k1*k1==m+100&&k2*k2==m+100+168)
cout<}}9.二分法的步骤为等分区间[x1,x2]成[x1,x]和[x,x2],其中,若f(x)与f(x1)同号,则取[x,x2]作为新的区间,否则取[x1,x]作为新的区间,依次类推,当新区间的长度或f(x)的绝对值小于eps时,x就作为所求的实根。#include"iostream.h"#include"math.h"voidmain(){floatx1=0,x2=10,x,y1,y2,y,eps=1e-6;do{x=(x1+x2)/2;y1=pow(x1,9)-4*pow(x1,5)-5*pow(x1,3)-270000;y=pow(x,9)-4*pow(x,5)-5*pow(x,3)-270000;if(y1*y>0)x1=x;elsex2=x;}while(fabs(x2-x1)>eps);cout<}第四章一、1.C2.A3.C4.D5.C6.B7.A8.B二、1.6789043212.43.14三、1.(1){0,1}(3)x[i]=x[i-1]+x[i-2](4)setw(5)<2.(1)rand()%101(2)j3.(1)b[m]=0(2)n4.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
9.
二分法的步骤为等分区间[x1,x2]成[x1,x]和[x,x2],其中,若f(x)与f(x1)同号,则取[x,x2]作为新的区间,否则取[x1,x]作为新的区间,
依次类推,当新区间的长度或f(x)的绝对值小于eps时,x就作为所求的实根。
{floatx1=0,x2=10,x,y1,y2,y,eps=1e-6;
do{x=(x1+x2)/2;
y1=pow(x1,9)-4*pow(x1,5)-5*pow(x1,3)-270000;
y=pow(x,9)-4*pow(x,5)-5*pow(x,3)-270000;
if(y1*y>0)
x1=x;
x2=x;
}while(fabs(x2-x1)>eps);
cout<}第四章一、1.C2.A3.C4.D5.C6.B7.A8.B二、1.6789043212.43.14三、1.(1){0,1}(3)x[i]=x[i-1]+x[i-2](4)setw(5)<2.(1)rand()%101(2)j3.(1)b[m]=0(2)n4.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
第四章
1.C2.A3.C4.D5.C6.B7.A8.B
1.6789043212.43.14
(1){0,1}(3)x[i]=x[i-1]+x[i-2](4)setw(5)<2.(1)rand()%101(2)j3.(1)b[m]=0(2)n4.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
(1)rand()%101
(2)j3.(1)b[m]=0(2)n4.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
(1)b[m]=0
(2)n4.(1)gets(s1)(2)gets(s2)(3)*s1==*s2(4)r=05.(1)j=k=l=0(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
(1)gets(s1)
(2)gets(s2)(3)*s1==*s2(4)r=0
(1)j=k=l=0
(2)j四、1.(1)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
(1)
#include"stdlib.h"
{inta[4][4],b[4][4],c[4][4],i,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
a[i][j]=rand()%41+30;
b[i][j]=rand()%35+101;
cout<<"矩阵A的内容如下:
\n";
{for(j=0;j<4;j++)
cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
cout<<"矩阵B的内容如下:
cout<
cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
c[i][j]=a[i][j]+b[i][j];
cout<<"矩阵C的内容如下:
cout<cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
cout<}} (2)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
(2)
{inta[4][4],b[4][4],c[4][4],i,j,max,imax,jmax;
cout<cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
cout<}cout<<"矩阵B的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=a[i][j]+b[i][j];cout<<"矩阵C的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
cout<cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
cout<}max=c[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(c[i][j]>max){max=c[i][j];imax=i;jmax=j;}cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
max=c[0][0];
if(c[i][j]>max)
{max=c[i][j];
imax=i;
jmax=j;
cout<<"max=c["<}(3)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],b[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;for(i=0;i<4;i++)for(j=0;j<4;j++)b[i][j]=rand()%35+101;cout<<"矩阵A的主对角线以下元素内容如下:\n";for(i=0;i<4;i++){for(j=0;j<=i;j++)cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
(3)
{inta[4][4],b[4][4],i,j;
cout<<"矩阵A的主对角线以下元素内容如下:
{for(j=0;j<=i;j++)
cout<cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
cout<}cout<<"矩阵B的主对角线以上元素内容如下:\n";for(i=0;i<4;i++){for(j=i;j<4;j++)cout<cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
cout<<"矩阵B的主对角线以上元素内容如下:
{for(j=i;j<4;j++)
cout<}}(4)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
(4)
{inta[4][4],i,j;
cout<cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
cout<}for(j=0;j<4;j++){intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}cout<<"改变后矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
{intt=a[0][j];a[0][j]=a[2][j];a[2][j]=t;}
cout<<"改变后矩阵A的内容如下:
cout<cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
cout<}}(5)#include"stdlib.h"#include"iostream.h"voidmain(){inta[4][4],i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=rand()%41+30;cout<<"矩阵A的内容如下:\n";for(i=0;i<4;i++){for(j=0;j<4;j++)cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
(5)
{inta[4][4],i,j,s=0;
cout<cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
cout<}for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s=s+a[i][j];cout<<"对角线元素之和为:"<}2.用字符数组实现#include"stdio.h"voidmain(){inti;chars1[50],s2[20];gets(s1);for(i=0;s1[i]!='\0';i++)s2[i]=s1[i];s2[i]='\0';puts(s2);}用字符指针实现#include"stdio.h"voidmain(){inti;chars1[50],*p1=s1,*p2;p2=newchar[20];gets(p2);while(*p2!='\0')*p1++=*p2++;*p1='\0';puts(s1);} 3.#include"stdio.h"voidmain(){chars[80],ch;inti,len=0;gets(s);while(s[len]!='\0')len++;for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
if(i==j||i+j==3)
s=s+a[i][j];
cout<<"对角线元素之和为:
"<
用字符数组实现
{inti;chars1[50],s2[20];
gets(s1);
for(i=0;s1[i]!
='\0';i++)
s2[i]=s1[i];
s2[i]='\0';
puts(s2);
用字符指针实现
{inti;chars1[50],*p1=s1,*p2;
p2=newchar[20];
gets(p2);
while(*p2!
='\0')
*p1++=*p2++;
*p1='\0';
puts(s1);
{chars[80],ch;
inti,len=0;
gets(s);
while(s[len]!
='\0')len++;
for(i=0;i{ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}4.#include"stdio.h"#include"iostream.h"voidmain(){chars[80],ch;inti,j;gets(s);cin>>ch;for(i=j=0;s[i]!='\0';i++)if(s[i]!=ch){s[j]=s[i];j++;}s[j]='\0';puts(s);} 习题一、选择题1.下列叙述错误的是____A_____。A.主函数中定义的变量在整个程序中都是有效的B.复合语句中定义的变量只在该复合语句中有效C.其它函数中定义的变量在主函数中不能使用D.形式参数是局部变量2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。A.形参数组可以不指定大小B.函数调用时对应的实参只能是数组名C.函数调用时,系统会为形参数组分配存储单元D.函数中对形参的修改将会影响对应的实参值3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。A.编译时出错B.运行时出现不确定结果C.不会出错,且返回值的类型以return语句中表达式的类型为准D.不会出错,且返回值的类型以函数类型为准4.下面的函数定义正确的是_____D____。A.floatf(floatx;floaty)B.floatf(floatx,y){returnx*y;}{returnx*y;}C.floatf(x,y)D.floatf(intx,inty){intx,y;returnx*y;}{returnx*y;}5.下面函数头的定义格式正确的是____C_____。A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)C.voidsort(inta[],intn)D.voidsort(inta[],n)6.下面4个程序中输出结果是125的有____C_____。(1).#include"iostream.h"voidcube(intx){x=x*x*x;}voidmain(){intx=5;cube(x);cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
{ch=s[i];
s[i]=s[len-i-1];
s[len-i-1]=ch;
puts(s);
inti,j;
cin>>ch;
for(i=j=0;s[i]!
if(s[i]!
=ch)
{s[j]=s[i];j++;}
s[j]='\0';
习题
1.下列叙述错误的是____A_____。
A.主函数中定义的变量在整个程序中都是有效的
B.复合语句中定义的变量只在该复合语句中有效
C.其它函数中定义的变量在主函数中不能使用
D.形式参数是局部变量
2.若函数的形参为一维数组,则下列说法中错误的是____B、才_____。
A.形参数组可以不指定大小
B.函数调用时对应的实参只能是数组名
C.函数调用时,系统会为形参数组分配存储单元
D.函数中对形参的修改将会影响对应的实参值
3.若函数的类型和return语句中的表达式的类型不一致,则____D_____。
A.编译时出错
B.运行时出现不确定结果
C.不会出错,且返回值的类型以return语句中表达式的类型为准
D.不会出错,且返回值的类型以函数类型为准
4.下面的函数定义正确的是_____D____。
A.floatf(floatx;floaty)B.floatf(floatx,y)
{returnx*y;}{returnx*y;}
C.floatf(x,y)D.floatf(intx,inty)
{intx,y;returnx*y;}{returnx*y;}
5.下面函数头的定义格式正确的是____C_____。
A.voidsort(inta[n],intn)B.voidsort(inta[][],intn)
C.voidsort(inta[],intn)D.voidsort(inta[],n)
6.下面4个程序中输出结果是125的有____C_____。
(1).#include"iostream.h"
voidcube(intx)
{x=x*x*x;}
intx=5;cube(x);
cout<}(3).#include"iostream.h"intcube(intx){x=x*x*x;return(x);}voidmain(){intx=cube(5);cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
(3).#include"iostream.h"
intcube(intx)
{x=x*x*x;return(x);}
intx=cube(5);
cout<}A.1B.2C.3D.47.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)8.设函数的说明为:voidfun(inta[],intm);,若有定义:inta[10],n,x;则下面调用该函数正确的是____A_____。A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);9.下面函数说明正确的是____C_____。A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);10.有两个函数分别为:intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。A.不能在同一个程序中定义B.可以在同一个程序中定义,但不可以重载C.可以在同一个程序中定义并可重载D.以上说法均错误11.以下几种函数模板的定义正确的是____A_____。A.templateTfun1(Ta,intb){……}C.templatevoidfun1(inta,intb){Ti;……}12.下面程序的输出结果是____B_____。#include"iostream.h"intm=10;voidf(intm,int&n){m=m+2;n=n+2;}voidmain(){intn=5;f(m,n);cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
A.1B.2C.3D.4
7.设函数m()的说明形式为voidm(int,int*);利用函数m()对数5和整数j作函数m()定义的计算,正确的调用形式为_____C_____。
A.m(&5,&j)B.m(5,j)C.m(5,&j)D.m(&5,j)
8.设函数的说明为:
voidfun(inta[],intm);,若有定义:
inta[10],n,x;则下面调用该函数正确的是____A_____。
A.fun(a,n);B.x=fun(a,n);C.fun(a[10],10);D.x=fun(a[],n);
9.下面函数说明正确的是____C_____。
A.voidf1(inta=3,intb,intc);B.voidf2inta,intb=3,intc);
C.voidf3(inta,intb,intc=3);D.voidf4(inta,intb,int3);
10.有两个函数分别为:
intf(int);和intf(int,int=100);,则下面说法正确的是_____B_____。
A.不能在同一个程序中定义
B.可以在同一个程序中定义,但不可以重载
C.可以在同一个程序中定义并可重载
D.以上说法均错误
11.以下几种函数模板的定义正确的是____A_____。
A.template
Tfun1(Ta,intb)
{……}
C.template
voidfun1(inta,intb)
{Ti;……}
12.下面程序的输出结果是____B_____。
intm=10;
voidf(intm,int&n)
{m=m+2;n=n+2;}
intn=5;
f(m,n);
cout<<"m="<}A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5二、阅读程序,写出运行结果1.yes3not42.43.1225169214.212345.m=5n=36.911三、程序填空1.该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。#include"iostream.h"#include"math.h"floatf(intx){floaty;y=x*x-5*x+sin(x);______r
A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5
二、阅读程序,写出运行结果
1.yes3not4
2.4
3.12
2516921
4.21234
5.m=5n=3
6.911
三、程序填空
1.该程序功能:
对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。
floatf(intx)
floaty;
y=x*x-5*x+sin(x);
______r
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1